bash定时刷新脚本

422 阅读1分钟
#!/bin/sh

scriptName=$(basename "$0")

# Check parameter
if [ $# -eq 1 ]; then
  cmd=$1
  interval=5
elif [ $# -eq 2 ]; then
  cmd=$1
  interval=$2
else
  echo "Usage: $scriptName cmd [interval]"
  echo "Sample1: $scriptName ls"
  echo "Sample2: $scriptName ls 10"
  echo "Sample3: $scriptName \"ls -l\""
  exit 1
fi

echo "Command: $cmd; Interval: $interval;"

# init
count=0
spliter="-------------------------------------------------"

# main
while [ 1 = 1 ]
do
let "count = count + 1"
# print current count
printf "%s%4d%s\n" $spliter $count $spliter
# run command
echo ${cmd}|awk '{run=$0;system(run)}'
# wait for
sleep $interval
done