会话后未保存Bash别名

会话后未保存Bash别名,bash,Bash,所以我对bash很陌生,基本上什么都不知道。。。 我试着用一个小别名来查看我的IP地址,结果它成功了。。。 但是当我关闭终端并打开另一个终端并输入命令时,它只是说它错了。 这是我的密码 alias whatsmyip=“echo$(ifconfig | grep broadcast | awk'{print$2}”)” 请在评论中尽量简单,这样即使是婴儿也能理解!提前谢谢 通常您的别名在~/.bash\u别名中定义,并在~/.bashrc中加载 if [ -f ~/.bash_aliases ]

所以我对bash很陌生,基本上什么都不知道。。。 我试着用一个小别名来查看我的IP地址,结果它成功了。。。 但是当我关闭终端并打开另一个终端并输入命令时,它只是说它错了。 这是我的密码

alias whatsmyip=“echo$(ifconfig | grep broadcast | awk'{print$2}”)”


请在评论中尽量简单,这样即使是婴儿也能理解!提前谢谢

通常您的别名在
~/.bash\u别名中定义,并在
~/.bashrc
中加载

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
使用
echo$(somecommand)
是一种反模式--
echo
$()
基本上是相互抵消的,所以最好将两者都删除,直接运行
somecommand
。此外,
$
替换在双引号字符串中执行,因此将立即计算
$()
位(即定义别名时,而不是使用别名时)。如果按照我的建议删除
echo$()
,则
awk
命令中的
$2
将立即被替换;您需要使用
\$2
延迟评估,直到
awk
命令实际运行。或者只使用函数而不是别名。