在Linux命令行中,是否有可能每n秒重复一次命令?
假设,我有一个导入正在运行,我正在做
ls -l
检查文件大小是否在增加。我想有一个命令,有这个自动重复。
在Linux命令行中,是否有可能每n秒重复一次命令?
假设,我有一个导入正在运行,我正在做
ls -l
检查文件大小是否在增加。我想有一个命令,有这个自动重复。
当前回答
当我们使用while时,可以不使用cron定期运行命令。
作为命令:
while true ; do command ; sleep 100 ; done &
[ ex: # while true; do echo `date` ; sleep 2 ; done & ]
例子:
while true
do echo "Hello World"
sleep 100
done &
不要忘记最后一个&,因为它会把你的循环放在背景中。但是你需要用命令“ps -ef | grep your_script”找到进程id,然后你需要杀死它。因此,请在运行脚本时添加'&'。
# ./while_check.sh &
下面是与脚本相同的循环。创建文件"while_check.sh",并把它放在里面:
#!/bin/bash
while true; do
echo "Hello World" # Substitute this line for whatever command you want.
sleep 100
done
然后输入bash ./while_check.sh &来运行它
其他回答
每5秒看一次……
看-n 5 ls -l
如果您希望可视化地确认更改,可以在ls命令之前添加——differences。
根据OSX手册页,还有
-cumulative选项使高亮显示“粘性”,显示一个 运行显示所有曾经改变的位置。- t 或者——no-title选项关闭显示间隔的标题, 命令,并在顶部显示当前时间,以及 下面是空行。
Linux/Unix手册页可以在这里找到
while true; do
sleep 5
ls -l
done
您可以运行以下命令并仅过滤大小。如果文件名为somefilename,可以执行以下操作
而:;Do ls -lh | awk '/some*/{print $5}';睡眠5;完成
众多想法之一。
一个简洁的解决方案,如果您想重复运行命令直到失败,这个解决方案特别有用,并且可以让您看到所有输出。
while ls -l; do
sleep 5
done
在Busybox中,“watch”一秒都不允许,而“sleep”一秒允许。如果这对你来说很重要,试试这个:
while true; do ls -l; sleep .5; done