shell 脚本执行的问题和crontab的问题

yixuan178 2014-12-20 01:43:10
大家好,我在本地写了两个sh文件,test1.sh, test2.sh, test1.sh 会用 ./test2.sh 的方式调用执行,在当前目录下没有问题,我用长路径执行,如果 /home/test/test1.sh 就会提示找不到test2.sh. 这个有什么好的办法解决。

另外一个问题,其实和上面的问题有点相关,我想执行在crontab里面定时执行 test1.sh,也会提示报错。应该也是类似的问题。
不一样的地方还有一个,就是我在test1.sh里面会load 一个配置文件,这个也是当前目录的。有啥好办法。谢谢!
...全文
242 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljc007 2014-12-22
  • 打赏
  • 举报
回复
最简单的方法就是全部使用完整路径 如果想高端一点,可以在 test1.sh 里面获取脚本自身所在的路径,然后 cd 过去再执行 test2.sh,参考: http://bbs.chinaunix.net/thread-4101120-1-1.html http://bbs.chinaunix.net/thread-1590414-1-1.html
buyong 2014-12-22
  • 打赏
  • 举报
回复
test1中获得test2的全路径
  • 打赏
  • 举报
回复
at the begining of test1.sh, put the following: PATH=~ As for cronjob either use absolute path for your command or put the following at the beginning of crontab file PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/test
  • 打赏
  • 举报
回复
你在 test1.sh中调用test2.sh要注意路径, 另外如果你把test2.sh所在路径加到PATH(或者把test2.sh放到/usr/local/bin路径下也可以),那么无论在哪个目录你都可以执行它,就好象执行ls等系统命令一样。

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧