Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash/sh cron未写入_Bash_If Statement_Cron_Sh - Fatal编程技术网

bash/sh cron未写入

bash/sh cron未写入,bash,if-statement,cron,sh,Bash,If Statement,Cron,Sh,有人能看出我做错了什么吗?这是我自己编写的一段比较简单的代码,可以很好地工作。我从来没有在上海测试过。也许有些东西对sh不起作用?if语句打开cron并在写入之前查找相同的行。这可以防止重复 if [ "`crontab -l | grep $SCRIPT`" \> " " ]; then (crontab -l ; echo "*/10 * * * * cd /etc/myscript/sh && ./start.sh") | crontab - fi 它从不向cr

有人能看出我做错了什么吗?这是我自己编写的一段比较简单的代码,可以很好地工作。我从来没有在上海测试过。也许有些东西对sh不起作用?if语句打开cron并在写入之前查找相同的行。这可以防止重复

if [ "`crontab -l | grep $SCRIPT`" \> " " ]; then
  (crontab -l ; echo "*/10 * * * * cd /etc/myscript/sh && ./start.sh") | crontab -
fi
它从不向cron写入任何内容。if语句中的命令本身可以100%工作。不知何故,if语句被破坏了

以下是另一种看待它的方式:

if [ "`crontab -l | grep start.sh`" \> " " ]; then
  (crontab -l ; echo "*/10 * * * * cd /etc/myscript/sh && ./start.sh") | crontab -
fi

if
语句的工作方向错误:只有在脚本已经安装的情况下才会执行
then
子句。此外,还可以简化:

if ! crontab -l | grep -q start.sh; then

这是因为
grep
设置了正确的退出代码。

Wow duh。。。非常感谢。