このコードを修正する方法を知りたいです。
ls
while [ 1 > 0 ]
do
fc -s
sleep 1
done
については、fc -s
以下を参照してください。この問題もっと学ぶ。
私の質問は次のとおりです。
- どのように動作しますか?名前を付けると
test.sh
。 fc -s
最初の行を表現するにはls
どうすればよいですか?つまり、走ってls
からしばらく寝て、ls
しばらく寝てみたいと思います。ls
もちろん、他のコマンドで配置することもできます。
答え1
あなたが望むものを正確に実行するwatchコマンドを使用するのはどうですか?マニュアルにはこう書かれています。
watch - 定期的にプログラムを実行し、出力を全画面表示します。
毎秒このコマンドを実行します。
watch -n 1 command
答え2
次のことを試すことができます。
$ cat script.sh
while sleep 1
do
eval "$@"
done
$ ls
$ sh script.sh !!
スクリプトは渡されたコマンドを引き続き実行します。!!
最後のコマンドが計算されます。
コマンドをスクリプトの一部にし、複数の場所に入力したくない場合は、次のようにします。
$ cat script.sh
cmd=ls
while sleep 1
do
eval "$cmd"
done
$ sh script.sh