2010-12-15 100 views
1

我有一个相对简单的问题,我无法弄清楚,我无法找出正确的搜索查询来查找我需要在谷歌上的信息,所以我想我会问集体。如何正确调用其他目录的unix命令

简而言之:

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

干杯家伙!

+1

看看绝对路径和相对路径http://en.wikipedia.org/wiki/Path_(computing) – cristian 2010-12-15 21:47:20

回答

0

你也可以把它包装得这样你就可以恢复到现有的目录,有时proggies喜欢拿起PWD在其中工作,所以可能是值得将它设置明确:

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

1

不要在命令前面输入.(句点)。只需使用:

$ /var/www/config/deploy.sh 
+0

嘿,这是有道理的,感谢您的快速帮助!我仍然收到错误“无法找到./sapphire/cli-script.php或./cli-script.php” - 我打电话的bash脚本仍在尝试使用相对寻址来搜索它需要的库。 – Nick 2010-12-15 21:56:47

0

如果你想保持你在哪里命令完成后:

(cd /var/www/config; ./deploy.sh) 
相关问题