获取可执行文件的目录

时间:2017-08-13 16:45:40

标签: linux bash zsh which

我想使用which命令直接cd到目录中。

cd $(which python3.6)

显然这不起作用,因为which python3.6将返回一个可执行文件。

现在的问题是:我怎样才能进入这个可执行文件的位置?

2 个答案:

答案 0 :(得分:4)

使用dirname

cd `dirname $(which python3.6)`

来自man(1)页面:

  

<强> 名称:
  dirname - 从文件名中删除非目录后缀

     

<强> 梗概:
  dirname NAME
  dirname OPTION

     

<强> 说明
  打印NAME并删除其尾随/组件;如果NAME包含否   /'s,输出'。' (意思是当前目录)。

答案 1 :(得分:4)

假设您使用Zsh作为标记,您可以使用一些简短的表示法 到达那里:

cd =python3.6(:h)

=展开本质上是which的捷径。 :h是。{ 采取路径的“head”,因此相当于dirname。看到 有关man zshexpn修饰符及其他修饰符的详细信息,请:h