所以我尝试过并创建了一个alias
in .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
或实际程序所在的任何地方。