别名在以下情况下最为有用:您希望使用 base 命令并容易地指定附加选项,同时仍然允许设置特定于平台的选项。
一个很好的例子就是 ps 命令,它在基于 SVR4 和基于 BSD 的 Unix 主机上是不同的。在本系列的第一篇文章中,请参阅 系统管理员工具包: 进程管理技巧 ——这篇文章解释了如何使用 ps 的选项来获得相似的清单。您可以结合别名使用那些选项,而不会影响您指定附加选项的能力。例如,在 BSD 上,您将如清单 1 所示指定别名。
清单 1. 在 BSD 上指定别名
$ alias ps='ps -o pid,ppid,command'
而在 SVR4 主机上,您将如清单 2 所示创建别名。
清单 2. 在 SVR4 上指定别名
$ alias ps='ps -opid,ppid,cmd
现在,在这两个系统对 ps 的不同操作方式的限制下,您获得了 ps 产生的标准输出。和前面一样,您可以继续添加更多选项;例如,在安装了该别名的任一个平台上请求所有进程,添加 -A 选项就是这样一种情况。这会在 BSD(在此示例中为 Mac OS X)上产生类似于清单 3 的输出。
清单 3. 在 BSD 上使用 -A 选项
$ ps -A
PID PPID COMMAND
1 0 /sbin/launchd
23 1 /sbin/dynamic_pager -F /private/var/vm/swapfile
27 1 kextd
32 1 /usr/sbin/KernelEventAgent
33 1 /usr/sbin/mDNSResponder -launchdaemon
34 1 /usr/sbin/netinfod -s local
35 1 /usr/sbin/syslogd
36 1 /usr/sbin/cron
37 1 /usr/sbin/configd
38 1 /usr/sbin/coreaudiod
39 1 /usr/sbin/diskarbitrationd
...
标签: