shell编程——变量的定义
shell是一个解释性语言,我们用它主要写一些自动化的脚本,所以shell编程并不复杂,它的循环结构中的理论相对比较简单,同样也实现不了多复杂的程序,但是它唯一的难度就是它与系统结合的非常密切,所以写的shell脚本往往都需要对系统有一定的了解,才能针对写出一定的程序。
shell结构:
1. #!制定执行脚本的shell
2. #注释行
3. 命令和控制结构
创建shell程序的步骤:
第一步: 创建一个包含命令和控制结构的文件。
第二步: 修改这个文件的权限使它可以执行。 使用chmod u+x
第三步: 执行 .example (也可以使用“sh eample”执行)
变量:
是shell传递数据的一种方法,用来代表每个取值的符号名。
Shell有两类变量:临时变量和永久变量。
临时变量是shell程序内部定义的,其使用范围仅限于定义它的程序,对其他程序不可见。包括: 用户自定义变量、位 置变量。永久变量是环境变量,其值不随shell脚本的执行结束而消失。
查看系统环境变量的值:
查看当前支持的语言环境:
查看环境变量的名:
查看编写时前面提示的命令提示符:
用户自定义变量
用户定义的变量由字母或下划线开头,由字母、数字或下划线序列组成,并且大小写字母意义不同。变量名长度没有限 制。 在使用变量时,要在变量明前加上前缀“$"。
设置和使用变量
设置变量:习惯上用大写字母来命名变量。变量名只能以字母表中的字符开头,不能用数字。
变量赋值:赋值号“=”两边应没有空格。
定义是赋值,如NUM=1
将一个命令的执行结果赋给变量,如:TIME=‘date’
将一个变量赋给另一个变量,如:A=$B
使用echo命令查看变量值。例如:echo $A
列出所有的变量: set | more
包含多个字的变量: #NAME=Mike Ron
运行时出错,应改为: $NAME="Mike Ron"或$NAME='Mike Ron'
单引号和双引号的区别:
# $ABC='$NAME Junior'
#echo $ABC
$NAME Junior
单引号之间的内容原封不动的指定给了变量
删除变量:
unset NAME
位置变量和特殊变量
shell解释执行用户命令时,将命令行的第一个部分作为命令名,其他部分作为参数。由出现在命令行上的位置确定 的参数称为位置参数。
例如:
ls -l file1 file2 file3 == $0 $1 $2 $3
$0 这个程序的文件名 ls -l
$n 这个程序的第n个参数值,n=1-9
$* :这个程序的所有参数
$# :这个程序的参数个数
$$ :这个程序的PID(应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。)
$! :执行上一个后台命令的PID(PID(比例(proportion)、积分(integration)、微分(differentiation))控制器)
$? :执行上一个命令的返回值
0 :非0