从symlink目录运行具有相对路径的命令

时间:2015-05-29 07:04:52

标签: bash unix terminal symlink

我有一个像这样的目录结构:

bin
  drush
build -> vendor/drupal/core
vendor
  drupal
    core

如您所见,buildcore目录的符号链接。 drush是一个可执行文件。我需要能够cd进入build并从那里致电drush

但如果我这样做:

cd build
../bin/drush

这不起作用,因为..指向vendor/drupal目录,因为当我cd进入build时,它实际上转到vendor/drupal/core当然。

我知道我可以这样称呼它:../../../bin/drush,但是有哪种解决方法可以使..指向根,而不是实际的父级?

1 个答案:

答案 0 :(得分:0)

您可以在文件夹" drupal"中创建另一个符号链接。在可执行的drush上。因此,通过这种方式,您可以从" build"。

中调用它
$ cd vendor/drupal/
$ ln -s absolute_path/bin/drush dummy-drush 
$ cd build 
$ ./dummy-drush

解决方案1: 如果你不想在供应商中创建任何东西,也许最好创建一个允许你执行drush的别名(小心给出好的路径)。

解决方案2:

如果示例中的目录bin不是文件夹" / bin"从根目录开始,您可以将其添加到PATH中以执行每个可执行文件。

$ export PATH=$PATH:/personal_bin/
$ cd bin
$ ln -s drush dummy-drush