我有几个别名要澄清。他们在工作。我怎样才能使它成为许多其他别名的选项。awk 还是 grep?和指针很有帮助。谢谢。
# IP addresses
alias myip="echo '# myip curl https://ipecho.net/plain; echo #'; curl -sS https://ipecho.net/plain; echo"
alias hazip="echo '# hazip curl https://ipv4.icanhazip.com #'; curl -sS https://ipv4.icanhazip.com"
alias ips='myip && hazip'
~ ips
# myip curl https://ipecho.net/plain; echo #
1.2.3.4
# hazip curl https://ipv4.icanhazip.com #
1.2.3.4
示例
~/.bash_aliases
文件:您可以将此内容修改为以下内容,以解决您的问题:
案例 1 中的输出:
案例 2 中的输出:
像这样的东西怎么样:
说明:
我使用所谓的 bash DEBUG 陷阱在任何命令之前调用函数。在里面我可以使用
$BASH_COMMAND
变量来查看当前正在调用的内容:这不适用于别名,因为在处理程序中它们已经展开 - 我必须禁用它们的展开,然后手动调用它们:
不幸的是,bash 仍然尝试运行未扩展的别名,所以我收到一个错误,告诉我找不到命令。为了绕过这个,如果我检测到我运行的命令是别名,我启用调试并从处理程序返回 1
最后打印别名我
tput
使用红色字体。输出命令存储在$COMMAND
变量中。