我在 Kali linux 中遇到 bash 别名的问题。让我从头说起吧。
我想设置一些命令来节省一次又一次编写的时间。所以,我用了
nano /.bash_aliases
并设置命令行
alias up='sudo apt update && sudo apt full-upgrade'
然后我按Ctrl+V并点击y然后点击Enter。我关闭了终端并打开它。当我输入up
并按 Enter 时,它会显示:
up: command not found
然后我寻找解决方案并找到一个可以做到这一点的解决方案。
gedit .bashrc
在 .bashrc 文件中,写入时不带任何“#”
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
bash_aliases
然后我用这个命令进入文件
gedit bash_aliases
写下这个并保存...
alias up='sudo apt update && sudo apt full-upgrade'
并关闭终端。在新终端中也会发生同样的错误。没有找到命令。为了解决这个问题我也做了这些:
重新启动我的电脑
完全关闭并再次打开我的电脑
尝试一些随机解决方案,例如
source ~/.bashrc bash -i -c my_alias
但我一次又一次地发现了问题。如果我忘记添加任何细节,这是一个屏幕截图。提前致谢。
答案1
解释
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
- 这意味着如果有一个文件名为.bash_别名然后来源那个文件。 bash
.
中的内容与来源,例如:. .bash_aliases
或source .bash_aliases
,同样只是一个捷径。 ~/
是您的主目录的快捷方式,意思是,您/home/agent/
正在采购根目录。这就是为什么您登录为根在终端中。当您采购时,~/.bash_aliases
不会发生任何事情,因为您采购的文件没有您的别名向上。
source /home/agent/.bash_aliases
解决方案
不要以 root 身份执行此操作,以您的用户[代理]
身份执行此操作从根/
目录中删除 .bash_aliases
sudo rm /.bash_aliases
b.打开用编辑器你的文件 .bash_aliases 位于主目录并注意.
前面的.bash_aliases
gedit /home/agent/.bash_aliases` #and add your alias
alias up='sudo apt update && sudo apt full-upgrade'
C。来源文件.bashrc这会自动来源(.bash_aliases
还记得if [-f ~/.bash_aliases]; then
开头的吗?)
source /home/agent/.bashrc
d.您可以使用以下命令检查您的别名命令 alias -p