运行此bash脚本时出现错误。 我已经检查过所有手册,看起来对我好吗?
帮助表示赞赏。
#!/bin/sh
HOME=/var/www
sleep 20
echo 'running' > $HOME/script-1-output.txt
if (-f $HOME/script-2-output.txt )
echo 'script-2 has run' >> $HOME/script-1-output.txt
else
echo 'script-2 has not run' >> $HOME/script-1-output.txt
fi
if (-f $HOME/script-3-output.txt)
echo 'script-3 has run' >> $HOME/script-1-output.txt
else
echo 'script-3 has not run' >> $HOME/script-1-output.txt
fi
答案 0 :(得分:2)
在bash中,如果条件包含在[] not()之间。条件和方括号之间应该总是有空格。然后你需要if-then-else-fi语法。
if [ -f file.txt ]; then
echo "yes"
else
echo "no"
fi