八 关于Shell编程
1.Shell中的环境变量有PATH、SHELL、HOME。
2.在Linux系统中编写Shell脚本程序,第一行应该写#! /bin/bash。
3.查看Linux系统中环境变量SHELL的值,使用echo $SHELL命令。
4.Linux系统中Shell脚本编写时用于键盘输入的命令是read,输出命令是echo。
5.查看系统内置了哪些Shell,有以下两种方法: ①cat /etc/shells ②chsh -list。
6.在Linux中,对大小写字符是严格区分的,Shell中所有关键字都是使用小写字母来表示的
7.通过对Shell进行编程,可使大量任务自动化,对于系统管理、系统维护方面特别有用。
8.在Linux中,Shell不但能与用户进行逐个命令交互执行,也可以通过脚本语言进行编程。
9.在/usr/program中有Linux脚本文件first,该文件的权限为755,在shell命令行中,当前的工作目录是/usr/program,那么在shell中可以执行first文件的命令有./first、/usr/program/first、bash first。
10.Linux系统中的预定义变量又叫系统变量,用户不能修改,只能引用这些变量。所有的预定义变量都是由“$”符号与另一个符号组成的。
11.用$1表示第1个参数,$2表示第2个参数,依次类推。而$0是一个特殊的变量,其内容是当前Shell程序的文件名。√
12.Shell常用的预定义变量有:
$ #:位置参数的数量
$ *:所有位置参数的内容
$ ?:命令执行后返回的状态
$ $ :当前进程的进程号
$ !:后台运行的最后一个进程号
$ 0:当前执行的进程
13.
-n选项
bash命令的“-n”选项使Shell不执行脚本,仅检查脚本中的语法问题。
-v选项
bash命令的“-v”选项使Shell在执行程序过程中,将读入的每一个命令行都原样输出到终端。
-x选项
bash命令的“-x”选项使Shell在执行程序过程中,把执行的每一个命令在行首用一个“+”号加上对应的命令显示在终端上,并把每一个变量和该变量的值也显示出来。使用该选项更方便跟踪程序的执行过程。
14.由于Shell中的循环控制语句与一般高级程序设计语言有所不同,输入结构时容易出错。
15. 文件测试所用的参数
操作符 作用
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
16.特殊变量列表
变量 含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第 二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID