我需要一个cron作业来更改目录并运行命令。
命令:
cd /var/www/domain.com/httpdocs
sake cron/test
我写了这个.sh文件(/var/here/and/there/test.sh):
#!/bin/bash
cd /var/www/domain.com/httpdocs
sake cron/test
我“chmoded”文件:
chmod 777 test.sh
当我运行它时:
sh /var/here/and/there/test.sh
输出是这样的:
[1] : No such file or directoryrons/test.sh: line 2: cd: /var/www/domain.com/httpdocs
[2] Can't find ./sapphire/cli-script.php or ./cli-script.php
(第二行来自清酒命令,只在正确的目录中执行时才成功)
THX
答案 0 :(得分:2)
我认为你的\r
命令末尾有一个迷路回车(cd
)。 shell假定'\r'
是目录名称的一部分。当它在错误消息中打印时,光标跳转到行的开头,消息的其余部分将覆盖那里的任何内容。
确保test.sh使用Unix风格的行结尾,而不是Windows风格的结尾。 (这可能是您用来创建它的任何编辑器的副作用。)
你是否有机会在Cygwin下运行?
dos2unix --help
(警告:与大多数过滤器不同,dos2unix
将文件转换为。)
答案 1 :(得分:0)
目录/var/www/domain.com/httpdocs
是否确实存在?您可以从该系统上的shell手动cd /var/www/domain.com/httpdocs
而不会出错吗?