我有一个以下格式的脚本:
#!/斌/庆典
cd / abc / def / user1 / test
导出NIMBUS_ENV_FILE = / abc / def / user1 / test / nimbus_env
main / vdnet -c yaml / config.yaml -t ABC。。。*
我的脚本在从shell运行时执行完美。我想每天执行这个脚本,所以我通过编辑crontab -e为我设置了一个cron作业:
PATH = / USR / bin中:/ usr / sbin目录:
00 12 * * * /home/test.sh> /home/testCronLog.log 2>& 1
main / vdnet:第2行:readlink:未找到命令
dirname:缺少操作数
尝试使用dirname --help'了解更多信息。
main / vdnet:第3行:/../main/environment:没有这样的文件或目录
main / vdnet:第8行:/../ script = nimbus / setup:没有这样的文件或者 目录
main / vdnet:第14行:/../ main/vdNet.pl:没有这样的文件或目录
当我手动执行脚本并且无法弄清楚什么是错误时,我没有收到这些错误。脚本的所有者与crontab用户相同。 请帮助!!!
答案 0 :(得分:1)
问题现已解决。 在运行命令main / vdnet之前,我添加了脚本的路径: export PATH = ...
由于
答案 1 :(得分:0)
当你使用某些命令或某些东西或你的脚本时,总是更好地给出完整路径
所以在脚本中提供main/vdnet
的完整路径
答案 2 :(得分:0)
尝试将test.sh中调用vdnet行的行更改为:
main/vdnet -c /abc/def/user1/testyaml/config.yaml -t ABC...*
我认为你的问题是虽然test.sh完全从crontab运行,但main / vdnet却没有,这是因为你提供它作为-c选项参数的引用需要完整路径。