如何ls -la
在 Solaris 上每 5 秒启动一个命令? 。我正在寻找类似的东西 watch -n 5 ls -la
答案1
您可以使用 来制作脚本sleep
,如中所述这张票
基本上,这会产生类似的东西:
while true
do
ls -la
sleep 5
done
如果您想随时访问它,您可以在屏幕中启动它,或者您可以将输出重定向到您可以随时查阅的文件中(因为我认为screen
, aswatch
没有与基本的Solaris 安装一起安装) 。
答案2
基于 @Carpette 和 @AmitSanghvi 的两个答案:
形式的循环
while true
do
...
sleep 5
done
众所周知,使用 来打断是非常困难的Ctrl+C。另一方面,sleep
间隔是键盘中断的主要目标。
更好的是:
while sleep 5
do
...
done
答案3
为了建立在 @Carpette 之前的答案的基础上......这是同一脚本的参数化版本。
if [ $# -ne 2 ]; then
echo "ERROR: Syntax is script <command> interval"
exit
fi
while true
do
eval "${1}"
echo "
++++++++++++++++++++++++++++++++++++
"
sleep $2
done
用法示例:
~/scripts/watch.sh "tail -10 /oracle/home/alert.log" 5