Bash 别名不适用于 Linux 中的“cd”命令

Bash 别名不适用于 Linux 中的“cd”命令

在 Bash 中尝试别名,无法看到它与cd命令结合使用

[0s][/nobackup/sumikum7]> sjc-tftp
-bash: /auto/tftp-xeinfra/sumikum7/: Is a directory
[0s][/nobackup/sumikum7]> cd sjc-tftp
-bash: cd: sjc-tftp: No such file or directory
[0s][/nobackup/sumikum7]> cd /auto/tftp-xeinfra/sumikum7/
[0s][/auto/tftp-xeinfra/sumikum7]>

尝试搜索几个地方,但没有发现 Linux 的任何地方提到这个问题。

笔记:

  • bash 版本:GNU bash,版本 4.4.19(1)-release (x86_64-redhat-linux-gnu)
  • 成立某物对于MAC,请让我知道这是否也是原因。

答案1

从 bash 手册页:

别名允许在用作简单命令的第一个单词时用字符串替换单词。

由于sjc-tftp不是第一个单词,cd sjc-tftp因此不会展开。为了实现您正在尝试的目标,您可以使用一个简单的 shell 变量$sjc-tftp或使别名包含 cd 命令,例如:alias sjc-tftp="cd /auto/tftp-xeinfra/sumikum7/"。然后只需sjc-tftp自行键入即可,无需使用 cd 即可更改目录。您链接到的Mac问题似乎是在谈论符号链接而不是别名。

相关内容