电脑技术学习

标准化您的 UNIX 命令行工具

dn001 597 0
  • 别名——这种解决方案仅在某些外壳中受支持——别名提供了将给定的字符串展开为特定命令的简单方法。
  • 外壳函数——大多数现代外壳都支持这种解决方案——外壳函数使您能够创建更复杂的序列,但是由于它们作为内置函数运行,在差异相当小时可能更为实用。
  • 外壳脚本——当您要构建的包装特别复杂时,更好的解决方案是使用外壳脚本,您可以代替原始命令调用这些脚本。使用外壳脚本,您可以更创造性地处理替代,甚至为另一个命令提供完全由外壳脚本驱动的替代。
  •   让我们研究一下每种可能的解决方案和一些可通过此方法来进行模拟的示例命令。

      使用别名

      别名在 Korn (ksh)、Bourne-Again SHell (bash)、TENEX C shell (tcsh) 和 Z shell (zsh) 外壳中受支持,当您希望设置命令的特定选项,同时仍然支持其他选项时,别名提供了也许是最简单的方法。顾名思义,您可以将一个命令用作另一个命令的别名,或者为带有附加选项的同一个命令提供别名。别名从您键入的内容展开为其展开形式。

      例如,一个常用的别名是 ll,它调用等效的 ls -l(ll 通常称为长清单 (long listing))。每当用户键入 ll,就会直接将其替换为展开形式,因此:$ ll a* 在执行前展开为:$ ls -l a*。

      命令行选项也仍然有效,换句话说,$ ll -a 展开为:$ ls -l -a。

      还可以为现有命令设置别名;假设将 -F 选项添加到所有 ls 命令,这样,$ ls 将展开为:$ ls -F。

      要设置别名,请使用内置的外壳 alias 语句,并在引号中指定所需的展开形式。例如,要设置前面详细描述的 ll 的展开形式,可使用:$ alias ll='ls -l'。

    标签: