该命令建立一个名为lookup的变量并给其赋值/usr/mydir,以后用户可以在命令行中使用lookup来代替/usr/mydir,例如:
$echo $lookup
结果显示:/usr/mydir
为了使变量能被子进程使用,可用exprot命令,例如:
$lookup=/usr/mydir
$export lookup
"运行环境控制" :当用户登陆启动shell后,shell要为用户创建一个工作的环境,如下:
1>当login程序激活用户shell后,将为用户建立环境变量。从/etc/profile和.profile文件中读出,在这些文件中一般都用$TERM
变量设置终端类型,用$PATH变量设置Shell寻找可执行文件的路径。
2>从/etc/passwd文件或命令行启动shell时,用户可以给shell程序指定一些参数,例如"-x",可以在命令执行前显示该命令及其参数。后面详细介绍这些参数。
"shell编程" :本文主要介绍的内容。
shell本身也是一种语言(*可以先理解为unix命令的组合,加上类C的条件,循环等程序控制语句,类似dos批处理,但要强大的多),用户可以
通过shell编程(脚本,文本文件),完成特定的工作。
SHELL变量
下面我们详细的介绍Bourne Shell的编程:
自从贝尔实验室设计了Bourne Shell。从那时起许多厂商根据不同的硬件平台设计了许多版本得unix。但在众多版本的unix中,Bourne
Shell 一直保持一致。
1>Bsh的启动:用户在登陆后,系统根据文件/etc/passwd中有关该用户的信息项启动Shell。例如某用户在passwd中
的信息项为:
ice_walk:!:411:103:Imsnow ,ice_walk:/home/ice_walk:/bin/bsh
则表明,用户名是ice_walk等信息,在最后一项"/bin/bsh"表明用户的sh环境类型是bsh,于是系统启动之。在启动或执行(包括下面我们要讲
的shell程序--脚本)过程中可以使用以下一些参数,我们一一说明:
-a 将所有变量输出
-c "string"从string中读取命令
-e 使用非交互式模式
-f 禁止shell文件名产生
-h 定义
-i 交互式模式
-k 为命令的执行设置选项
-n 读取命令但不执行
-r 受限模式
-s 命令从标准输入读取
-t 执行一命令,然后退出shell
-u 在替换时,使用未设置的变量将会出错
-v 显示shell的输入行
-x 跟踪模式,显示执行的命令 |