![如何通过 CD 将目录更改为符号链接目录的绝对路径?](https://linux22.com/image/1427987/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20CD%20%E5%B0%86%E7%9B%AE%E5%BD%95%E6%9B%B4%E6%94%B9%E4%B8%BA%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5%E7%9B%AE%E5%BD%95%E7%9A%84%E7%BB%9D%E5%AF%B9%E8%B7%AF%E5%BE%84%EF%BC%9F.png)
我目前位于符号链接目录中,我想在绝对路径中向上移动一级,但我做不到,因为它会让我回到我的主目录 (~)。我可以执行 pwd -P 来获取绝对路径,但如何将该结果输入到 cd 命令中?我一直以为是这样的:{}
样本:
10:21:55 {master *} ~/ch$ pwd -P
/home/drupal/sites/all/themes/house
10:22:16 {master *} ~/ch$ pwd -P | cd {}
bash: cd: {}: No such file or directory
10:22:20 {master *} ~/ch$
答案1
这对我有用:
cd `pwd -P`
你也可以cd -P
像这样使用:
cd -P ~/ch
或者如果你已经在符号链接目录中:
cd -P .
答案2
您可以使用以下方式将某些命令的输出插入到命令行中命令替换运算符 $(...)
。
例如,这将转到物理当前工作目录(所有符号链接均已解析):
cd $(pwd -P)
上升一级(据我理解,这是你的最终目标):
cd $(pwd -P)/..