为 bash 脚本创建别名

为 bash 脚本创建别名

所以我尝试过并创建了一个aliasin .bashrc.但是,当我测试该命令时,我得到:

[rkahil@netmon3 ~]$ menu
-bash: menu: command not found

这是我在.bashrc文件中的内容:

# Source global definitions

if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

# User specific aliases and functions
alias menu='./menuScript.sh'
alias vi='vim'

有趣的是,当我创建别名时vi,它起作用了。但菜单没有。我查阅了 UnixStackExchange 上以前的帖子并尝试关注其他帖子,但无济于事。还有其他人有什么建议吗?

答案1

你应该尝试使用alias menu='bash ./menuScript.sh'.我目前不在 Linux 机器上,所以无法亲自测试它,但它应该可以工作。当您调用别名时,它不知道如何处理路径,因此您必须bash在开头包含 。

进行更改后重置终端确实有帮助。

答案2

当你这样做时

alias menu='./menuScript.sh'

您创建了一个别名,表示“该文件”,但没有说明实际如何处理它。

但是,如果你这样做

alias menu='source ./menuScript.sh'

或者

alias menu='. ./menuScript.sh'

你是说跑步那个文件。

答案3

~/.bashrc进行更改后您是否记得获取文件源?因为更改会.bashrc在重新启动计算机或简单地获取文件后在文件中生效。

答案4

它之所以起作用vim是因为这是一个无需直接路径即可调用的程序。您不必明确地说“我希望将其作为程序执行”,因为vim已经是一个程序了。它被硬编码到操作系统中,当它收到命令时vim,去执行文件/usr/bin/vi或实际程序所在的任何地方。

相关内容