如何从其他目录正确调用unix命令

时间:2010-12-15 21:43:38

标签: bash unix capistrano

我有一个相对简单的问题,我无法弄清楚,我无法找出正确的搜索查询,以便在谷歌上找到我需要的信息,所以我想我会问集体。

简而言之:

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

干杯!

3 个答案:

答案 0 :(得分:1)

不要在命令前放置.(句点)。只需使用:

$ /var/www/config/deploy.sh

答案 1 :(得分:0)

你也可以包装它,这样你就可以回到现有的目录,有时候喜欢拿起工作的PWD所以可能值得明确地设置它:

( cd /var/www/config/ && ./deploy.sh )

答案 2 :(得分:0)

如果您希望在命令完成后保持原状:

(cd /var/www/config; ./deploy.sh)