linux の screen コマンドの応用について質問です

当方 linux 初心者です

$ for FILE in *; do echo $FILE; done

のようにして、ディレクトリ内の全てのファイルを対象として
コマンドを実行できるそうですが
この実行結果を 各々別個の Screen に分割させることはできるでしょうか?

上記の例で、ディレクトリの中に3個のファイルがあった場合は
Screen に3つの画面が生成され、各々の画面にファイル名が表示される、といった結果を望んでいます

よろしくお願いします

回答の条件
  • 1人3回まで
  • 登録:2009/08/16 13:26:07
  • 終了:2009/08/17 22:57:21

ベストアンサー

id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402009/08/17 13:35:21

ポイント50pt

screen 起動中に、以下のコマンドを実行。

for FILE in *; do screen echo $FILE; done

Manpage of SCREEN

id:you_got

ありがとうございます! 望んでいた動作ができました!

'screen 起動中'

$screen コマンド

だったんですね

胸のつかえがとれた気分です ありがとうございます^^

2009/08/17 22:54:25

その他の回答(1件)

id:longicorn No.1

longicorn回答回数56ベストアンサー獲得回数62009/08/16 18:34:16

ポイント20pt

とりあえずmanを見て調べた限りで書いていきます。


screenで新たにウィンドウを起動するには、

$ screen

$ screen -X screen

次に指定ウィンドウでコマンドを実行するには

screen -X at 1 stuff 'echo "abcdefg"
'

atは指定ウィンドウで(screenの)コマンドを実行します。1はウィンドウ番号です。

次にstuffは文字列をペーストするコマンドです。"abcdefg"の後に改行を入れているのはshellに改行コードも入力する必要が有るためです。

これで指定ウィンドウ(ウィンドウの1)でecho "abcdefg"が実行されます。


あとは上記のコマンドを改造すれば目的は達成できるかと思います。

id:you_got

やってみたのですが、うまく動きませんでした

Screen を事前に立ち上げておいても、Echo の内容は表示されませんでした


stuff はそのままでいいですか? コマンドに置き換えるところですか?

$man stuff

とやりましたが、No manual entry for stuff と出ました

2009/08/16 20:50:52
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402009/08/17 13:35:21ここでベストアンサー

ポイント50pt

screen 起動中に、以下のコマンドを実行。

for FILE in *; do screen echo $FILE; done

Manpage of SCREEN

id:you_got

ありがとうございます! 望んでいた動作ができました!

'screen 起動中'

$screen コマンド

だったんですね

胸のつかえがとれた気分です ありがとうございます^^

2009/08/17 22:54:25
  • id:longicorn
    >stuff はそのままでいいですか? コマンドに置き換えるところですか?
    >$man stuff
    >とやりましたが、No manual entry for stuff と出ました
    stuffはscreenのコマンドです。stuffについてはman screenででると思います。


    ちょっと説明が足りなかったかもしれません。
    今回の例では、screenを起動してからウィンドウを0と1の2つ起動します。
    その後、ウィンドウ0でコマンドを実行してください。ウィンドウ1でecho "abcdefg"が実行されているはずです。
    $ screen -X at 1 stuff 'echo "abcdefg"
    '

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません