如何在 Solaris 上每 5 秒启动一个命令?

如何在 Solaris 上每 5 秒启动一个命令?

如何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

相关内容