学习目标
变量的赋值变量的访问变量的输入12-4-1 变量的赋值
在Shell编程中,所有的变量名都由字符串组成,并且不需要对变量进行声明。要赋值给一个变量,其格式如下:变量名=值。注意:等号(=)前后没有空格例如: x=6 a=”How are you ”表示把6赋值给变量x,字符串“How are you ”赋值给变量a。12-4-2 访问变量值
如果要访问变量值,可以在变量前面加一个美元符号“$”,例如: a="How are you " echo "He just said:$a"He just said:How are you一个变量给另一个变量赋值可以写成:变量2=$变量1。
例如:x=$i,i++可以写成:i=$i+112-4-3 键盘读入变量值
在Shell程序设计中,变量的值可以作为字符串从键盘读入,其格式为: read 变量例如: read strread为读入命令,它表示从键盘读入字符串到str。实例:编写一个Shell程序test3,程序执行时从键盘读入一个目录名,然后显示这个目录下所有文件的信息。
分析:存放目录的变量为DIRECTORY,其读入语句为:read DIRECTORY,显示文件的信息命令为:ls –a 。ubuntu@ubuntu:/home/study$ vi test3#! /bin/shecho "please input name of directory"read DIRECTORYcd $DIRECTORYls -l ubuntu@ubuntu:/home/study$ chmod +x test3ubuntu@ubuntu:/home/study$ ./test3please input name of directory/home #输入路径时需“/”
实例:运行程序test4,从键盘读入x、y的值,然后做加法运算,最后输出结果。
#! /bin/sh echo "please input x y"read x yecho $x $yz=`expr $x + $y`echo "The sum is $z"
注意:
read x y –>多个变量之间用空格隔开,切忌用逗号(,)z=`expr $x + $y`1)、expr ‘+’ 两边有空格2)、倒引号,表示在被引用的内容要做运算