2016-07-15 9 views
1

スクリプトを使用して複数のコマンドを時間間隔で繰り返し実行したい。 私はループが実行されているとLSの出力は.How私のファイルにリダイレクトされ-lながら、私は最初、上記のスクリプトを実行.When同時にwhileループの両方で実行したいこのスクリプトを使用して複数のコマンドを一定間隔で繰り返し実行する

----------------test_script--------------- 
while true;do 
ls -l >>output.txt 
sleep 3 
done 


while true;do 
cat file.txt 
sleep 5 
done 

を試してみました両方のループを同時にスクリプトから実行することができます

+1

あなたは無限ループを実行しています。だから、 'ls'と' cat'の両方を同じ 'while'に入れてはどうでしょうか。 – Fazlin

+1

バックグラウンドでコマンドを実行するには、 '&'を使います。 – choroba

+0

@choroba:しかし、これはそれより少し複雑です。おそらく私は以前の[\ [solution \]](http://stackoverflow.com/a/19543286/1620779)の1つを見ていました。 – sjsam

答えて

1

実行する方法の1つは、ループの1つをバックグラウンドで実行し、その他は以下のように実行します。

#!/bin/bash 

while true;do 
    ls -l >>output.txt 
    sleep 3 
done &    # Runs the first while loop in the background and passes to the next while loop 

while true;do 
    cat file.txt 
    sleep 5 
done 
+0

'done'の後に' output.txt'に一度だけリダイレクトする方が効率的です。その後、ファイル内の以前の内容を消去するために、必要に応じて上書きのrediectを使用することができます。 – tripleee

関連する問題