作为一个终端小白,我已经为几乎所有的操作创建了别名。问题是由于这样做,我开始忘记我所知道的一些命令。另外,有时候我需要编辑先前命令中的一个变量。
因此,当我使用别名时,我希望打印出来的第一行是实际代表该别名的命令,并继续执行该命令。由于按上箭头和
谢谢。
因此,当我使用别名时,我希望打印出来的第一行是实际代表该别名的命令,并继续执行该命令。由于按上箭头和
!!
只会重新打印别名,我不太确定如何获取对底层命令的引用。谢谢。
您可以始终使用以下方式:
alias
列出所有别名,或者alias name
显示别名 name
的规范。因此实际上您可以将您的别名定义为
alias myalias="alias myalias; <do stuff>"
我也认为chepner的答案,使用Alt-Control-e更实用,但我发布这篇文章是为了完整性。
您可以在别名中使用变量以获得干净的输出:
alias test='_TMP="pushd /home/a/b/c";echo $_TMP; eval $_TMP'
如果你想避免别名出现消息,你可以这样做
_TMP="pushd /home/a/b/c >/dev/null 2>&1"
它确实添加了一个名为_TMP的环境变量。
旧帖子中有错误。
test='$_TMP="php artisan serve";echo $_TMP;$_TMP'
后,在终端窗口中返回的是zsh: php artisan serve not found
。我期望看到的是php artisan serve
,然后跟着服务器启动。任何指导将不胜感激。 - mann
alias your_alias
,这个别名会被打印出来吗? - fedorqui