$ printenv
...
EDITOR=vi
...
$ EDITOR="pico" less bigfile
这个组合可以使用 less 对 bigfile 进行分页。如果您在 less 中输入 v 以编辑文件,那么将启动 pico 而不是 vi。下面是另一个实际的使用情况:
$ date
Sun Aug 5 16:14:17 EDT 2007
$ TZ="Japan" date
Mon Aug 6 05:14:06 JST 2007
对 TZ 进行的临时更改将影响 date 的即时实例解释系统当前日期和时间的方式。
查看您实际正在运行的命令
大量的 Shell 特性可以影响到如何解释您所输入的命令名。每种 Shell 都有一个内置命令的分类;PATH 环境变量用于指定搜索的列表和目录;而别名可以作为简写。要运行一个程序可以使用许多方法,如何了解实际执行的是什么命令呢?使用 Shell 内置的 type 命令可以揭示实际的情况。
假设您拥有下面的这些 Shell 设置:
PATH=/bin:/usr/bin:/usr/local/bin
alias vi=pico
您可以在 /usr/bin 和 /usr/local/bin 中找到 Perl 的副本。要查明您正使用的是哪个 Perl,可以输入 type perl。
$ perl -v
This is perl, v5.8.7 built for darwin-2level
$ type perl
perl is /use/local/bin/perl
$ type -a perl
perl is /usr/local/bin/perl
perl is /usr/bin/perl
$ type -a -w perl
perl: command
perl: command
type perl 命令显示了如何在命令行中对 perl 命令进行解释。在这个示例中,/usr/local/bin/perl 是实际的扩展结果。type -a 命令显示了 Shell 所知道的所有 Perl 实例,这在很大程度上依赖于 PATH 变量。
标签: