在别名使用上打印 bash 命令

Print bash command on Alias use

我最近一直在设置很多别名,这样可以节省我一些打字时间,但我担心这可能会让我忘记原来的命令。 有没有办法在使用别名的同时打印原始命令。 例如,在这个别名上,它会是什么样子?

alias showhidden='defaults write com.apple.finder AppleShowAllFiles YES'

呃,这似乎过于简单了,但是怎么样:

$alias showhidden='echo defaults write com.apple.finder AppleShowAllFiles YES;defaults write com.apple.finder AppleShowAllFiles YES'

或者我刚刚试过的一个更简单的例子:

$alias lsl='echo ls -l;ls -l'
$lsl
ls -l
total 120
-rw-r--r--  1 ian  staff     20 Sep 14 21:29 iplist.txt
-rw-r--r--  1 ian  staff  55856 Sep 14 21:42 t.out

如果您打算将这些命令用作管道的一部分,这可能不是一个好主意,所以也许将 "reminder" 发送到 stderr 可以使它们分开?

$alias lsl='echo ls -l >&2 ; ls -l'