1. alias
对常用而有经常忘记的 shell 指令,我一般都会使用 alias 重定义一个命令放到 ~/.zshrc
里面,但是这种方式对于无法解决需要输入参数的 shell 命令。
比如下面的命令:
find . -type f -exec grep -Ho style.css {} \; | uniq
是很实用的一个命令,从当前目录的所有文件中找包含字符 style.css
的文件并打印文件名
因为这条长命令只有一个地方是需要经常改动的,那就是文件名,相当于文件名作为一条新命令的参数输入。
alias 方法现在已经无法满足要求。备选的方法时使用 shell 函数
2. shell 函数
示例:
把 ls 本身定义成函数,可以用以下方式定义:
ls () { command ls --color=auto "$@" ; }
对于上面那条长命令,我们的解决方式是:
nameinFile () {find . -type f -exec grep -Ho $1 {} \; | uniq;}
这样我们就可以使用如下命令了
$ nameinFile style.css
是不是很有用!
3. 参考
https://zh.wikipedia.org/wiki/Alias_%28%E5%91%BD%E4%BB%A4%29#.E5.91.BD.E4.BB.A4.E5.8F.82.E6.95.B0