すべてのカテゴリ » インターネット・パソコン » 技術・プログラミング

質問

終了

Fedora(Linux)で、*.sh を10個 「端末内で実行する」で実行したいのですが、毎回10個 ダブルクリックをして選択するのは大変です。

これを自動で10個のshを「端末内で実行」と同じように並列で処理をさせるためには、どうしたら良いのでしょうか?
(入力待ち状態にする必要があるので、端末内実行が必須)

For 文で実行さようとすると、「端末内で実行」が選択されずに「実行する」と同じように一瞬でダイアログを閉じてしまい、入力待ちにできなくて困っています。

お力をお貸しください。

  • 質問者:ピーポー
  • 質問日時:2009-12-02 00:56:21
  • 0

並び替え:

10個のシェルスクリプトを1.sh,2.sh,3.sh..だったとして、
all.shと言うファイルを作って、
その中に以下の様に書く方法ではだめでしょうか?

#!/bin/sh
1.sh &
2.sh &
3.sh &
wait

===補足===
あーなるほど。
ターミナルを10個開いて、
それぞれで実行したいのですね。

ターミナルの種類にもよりますが、
先のスクリプトを以下のようにしてみてはどうでしょう?

この例ではmltermとしていますが、
御使用のターミナルソフトでも同等の機能があるはずです。

#!/bin/sh
mlterm -e 1.sh &
mlterm -e 2.sh &
mlterm -e 3.sh &

では、どうでしょうか。
ちょっと手元では試せないので、
確認できていませんが、
これでいけるのではないかと思います。

  • 回答者:Maku (質問から10時間後)
  • 0
この回答の満足度
  
とても参考になり、非常に満足しました。回答ありがとうございました。
お礼コメント

回答ありがとうございます。

今環境がなく確認できないのですが、おそらくダメです。
対話式のコマンドを含めているので、どうしても端末毎の実行が必要になります。
提案方法だと、同一端末内での実行になりそうです。。

具体的なコマンドは、smbcliant コマンドです。
1~3.sh それぞれから、端末を開ければいいのですが。。

【補足について】
重ね重ねありがとうございます。

mlterm というコマンドがあるのですね。ちなみに、オプションの-eは、端末内で実行でしょうか?
試してみます♪♪♪

関連する質問・相談

Sooda!からのお知らせ

一覧を見る