Linux系统管理 第八章SHELL编程基础
redhat Shell介绍 ■什么是SHELL ■常见的SHELL
redhat 变量的定义 ■本地变量 ■定义方法 ■定义规则 ■查看方法 3
redhat 环境变量 ■Bash变量默认对单个shell是局部的 ●用VARIABLE=VALUE的方式设置 ■环境变量在子shells中是被继承的 ●用export VARIABLE=VALUE设置 ●被一些需要配置的程序访问 4
redhat 标准的输入和输出 ■Linux?给应用程序提供三种l/O通道 ●标准输入(STDIN)-缺省为键盘 ●标准输出(STDOUT)-缺省为终端窗口 ●标准错误(STDERR)-缺省为终端窗口 5
redhat 重定向输出到文件 ■标准输出和标准错误能被重定向到文件 command operator filename ■支持操作包括: ●>重定向标准输出到文件 ●2>重定向错误到文件 ●&>重定向所有输出到文件 ■在重定向时,缺省是覆盖文件内容>>符号追 加 6
redhat 重定向输出到文件-示例 ■以下命令当不做为root用户运行时,产生输出 和错误: .find /etc-name passwd ■可以执行以下操作保存输出和错误信息 .find /etc-name passwd find.out find etc-name passwd 2>/dev/null Sfind /etc-name passwd find.out 2>find.err 7
redhat 重定向标准输出给一个应用程序(管道) ■管道(字符)能连接命令: ●command1 |command2 ●传送command1的标准输出给command:2的标准输入, 而不输出到屏幕 ■结合多个工具的功能 ●command1|command2|command:3..等 8
redhat 重定向标准输出到一个程序-示例 ■Iess:一次查看一个页面的输入 ●$ls-l/etc|less ●使用/能查询输入 ■mail:发送输入通过email ●$echo"“test email'”|mail-s“test user(@example.com ■pr:发送输入到打印机 .echo "test print"lpr .echo"test print"|lpr-P printer_name 9
redhat 结合输出和错误 ■一些操作对STDOUT和STDERR都有影响 ●&>:重定向所有的输出 .find /etc-name passwd &find.all ●2>&1:重定向STDERR到STDOUT ●通过一个管道来发送所有的输出是有用的 .find /etc-name passwd 2>&1lless ●O:结合多个应用程序的STDOUT $(cal 2007 ;cal 2008)Jless 10