我正在编写一个小脚本,用于启动在后台创建的脚本。该脚本循环运行,必须在指定目录中找到创建的文件时启动该文件。
当目录中只有一个文件时它可以工作,创建的脚本在完成时会自行删除。但是,当同时创建 2 个或更多脚本时,它无法运行脚本。
我收到一个错误:预期二元运算符
#!/bin/bash
files="/var/svn/upload/*.sh"
x=1
while :
do
echo Sleeping $x..
if [ -f $files ]
then
for file in $files
do
echo "Processing $file file..."
sh $file
echo $(date +%d-%m-%y) $(date +%H:%M:%S) - Sleep $x - Script $f >>/var/log/upload.log
x=0
wait
done
fi
x=$(( $x + 1 ))
sleep 1
done
我创建了一个解决方法,它可以正常工作:
#!/bin/bash
files="/var/upload/*.sh"
x=1
while :
do
count=$(ls $files 2> /dev/null | wc -l)
echo Sleeping $x..
if [ "$count" != "0" ]
then
for file in $files
do
echo "Processing $file file..."
sh $file
echo $(date +%d-%m-%y) $(date +%H:%M:%S) - Sleep $x - Script $f >>/var/log/upload.log
x=0
wait
done
fi
x=$(( $x + 1 ))
sleep 1
done