作为终端菜鸟,我为我所做的一切创造了别名。问题是我开始忘记那些因为它而知道的命令。最重要的是,我有时需要在上一个命令中编辑一个变量。
所以我想要的是,当我使用别名时,打印的第一行是它所代表的实际命令,然后继续执行命令。由于按下并且!!
只是重新打印别名,我不太确定如何获取对底层命令的引用。
感谢。
答案 0 :(得分:9)
输入别名后,在输入之前,可以输入 Meta - Control - e (可能是 Alt - 控制 - e ,但可能 Esc - 控制 - e )扩展你输入的内容;这将扩展任何别名和历史记录扩展,以便您可以看到您输入的“长”形式。
答案 1 :(得分:6)
您可以随时使用:
alias
列出您的所有别名,或alias name
显示别名name
。所以实际上你可以将你的别名定义为
alias myalias="alias myalias; <do stuff>"
我还认为chepner's answer与 Alt - Control - e 更实用,但我发布此内容是为了完整性
答案 2 :(得分:0)
您可以在别名中使用变量以获取干净的输出:
alias test='$_TMP="pushd /home/a/b/c";echo $_TMP;$_TMP'
它确实添加了_TMP环境变量。