相关疑难解决方法(0)

作为 bash 别名的路径只能在父目录中使用?

bash 别名可以是路径吗?

您好,对于菜鸟问题​​提前表示歉意。我注意到使用 bash 别名时出现奇怪的行为。

我的目标

的方法是为常用路径使用简短的 bash 别名,以使 shell 中的导航更加容易。作为示例,为了快速导航到uni安装在的数据驱动器上的 University () 文件夹,/mnt/data我使用了 bash 别名alias uni='/mnt/data/uni'。现在,如果我在父目录中/mnt/data并运行cd uni,这将像我想象的那样工作,并且我会移动到/mnt/data/uni.

问题

但是,如果我在另一个驱动器上,例如在我的根目录中,并且我运行相同的命令,则会收到错误bash: cd: uni: No such file or directory。如果我只执行uni,输出bash: /mnt/data/uni: Is a directory表明 bash “理解”这是一个目录。但由于某种原因,当不在父目录中时,别名无法与 cd 功能一起使用来移动到该目录。

如果我将该cd命令添加到我的别名中,使其读取为alias uni='cd /mnt/data/uni',则该别名适用于所有目录。但是我希望只有别名中的路径才能使用其他函数。现在我可以忍受将 包含cd到别名中,因为我对这些目录所做的 99% 的操作只是导航,但最让我烦恼的是我显然不完全理解别名在这种情况下如何工作。

我的问题

有人可以解释为什么我的别名会这样以及我在这里缺少什么吗?仅使用别名路径的解决方案也会很方便。

多谢!干杯

shell bash alias

4
推荐指数
1
解决办法
2191
查看次数

标签 统计

alias ×1

bash ×1

shell ×1