![创建一个包装别名的函数,但打印出别名字符串](https://linux22.com/image/1299403/%E5%88%9B%E5%BB%BA%E4%B8%80%E4%B8%AA%E5%8C%85%E8%A3%85%E5%88%AB%E5%90%8D%E7%9A%84%E5%87%BD%E6%95%B0%EF%BC%8C%E4%BD%86%E6%89%93%E5%8D%B0%E5%87%BA%E5%88%AB%E5%90%8D%E5%AD%97%E7%AC%A6%E4%B8%B2.png)
我想创建一个 bash 函数,它基本上可以包装一个别名,但它会输出别名正在执行的操作,这样我就不会忘记实际的命令。
例如:
alias abc='cd ~/root'
所以当我运行它时:
>abc
'you typed: cd ~/root'
/root>
答案1
我不完全确定我是否理解你想要什么,但是这里有一个函数,它包装了一个别名的创建,可以提醒你它的作用:
$ reminderalias() {
> alias $1="echo 'You typed: $2'; $2"
> }
$ reminderalias abc 'cd ~/root'
$ abc
You typed: cd ~/root
$ #CWD is now ~/root
请注意,这对于包含某些特殊字符(据我所知主要是单引号)的别名会带来问题。