我有一个相对简单的问题,我无法弄清楚,我无法找出正确的搜索查询,以便在谷歌上找到我需要的信息,所以我想我会问集体。
简而言之:
cd /var/www/config
./deploy.sh - works!
但
./var/www/config/deploy.sh
不:(
deploy.sh调用另一个bash脚本,似乎被调用的脚本无法找到它需要的库,因为它相对于它所调用的位置进行搜索,在这种情况下,它将是/而不是/ var / www。
我试图从capistrano脚本中调用它,因此需要找到一种方法来调用它而不必先cd。有谁知道一个简单的方法来实现这个目标?
编辑:感谢您的快速建议,它仍然在播放。 deploy.sh调用另一个名为sake的bash文件。我在此处上传了一份http://tinypaste.com/25fc8干杯!
答案 0 :(得分:1)
不要在命令前放置.
(句点)。只需使用:
$ /var/www/config/deploy.sh
答案 1 :(得分:0)
你也可以包装它,这样你就可以回到现有的目录,有时候喜欢拿起工作的PWD所以可能值得明确地设置它:
( cd /var/www/config/ && ./deploy.sh )
答案 2 :(得分:0)
如果您希望在命令完成后保持原状:
(cd /var/www/config; ./deploy.sh)