1.新建变量
例如新建一个 yy的变量,可以:yy=“Java”
变量名为yy,变量值为Java
2.打印输出变量 echo
用echo命令:echo $yy
输出结果:Java
3.将变量设置成只读变量 readonly
命令:readonly yy
可以将yy设置成只读变量,在删除和重新给yy赋值时,会显示:
-bash: your: readonly variable
4.删除变量 unset
命令:unset yy
可以通过这个命令把yy变量删除,注意如果yy变量设置成了只读的,会显示:-bash: unset: your: cannot unset: readonly variable
5.变量类型
运行shell时,会同时存在3种变量:
(1)局部变量:局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量
(2)环境变量:所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行,必要的时候shell脚本也可以定义环境变量
(3)shell变量:shell变量是由shell程序设置的特殊变量,shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
6.shell字符串
字符串是shell编程中最常用最有用的数据类型,字符串可以用单引号,也可以用双引号,也可以不用引号。
(1)单引号: str='this is a string'
单引号限制:单引号里的任何字符都会原样输出,单引号字符中的变量都是无效的;单引号字符串中不能出现单引号
(2)双引号:
your_name='qinjx' str="Hello, I know your are \"$your_name\"! \n"
双引号特点:双引号里可以有变量
双引号里可以出现转义字符
7.字符串
(1)拼接字符串,命令如下:
your_name="java" greeting="hello, "$your_name" !" greeting_1="hello, ${your_name} !" echo $greeting $greeting_1
输出:
hello, java ! hello, java !
(2)获取字符串长度
string="abcd" echo ${#string} #输出 4
(3)提取子字符串
例如:从字符串第二个字符开始截取4个字符
8.shell数组
shell支持一维数组,不支持多维数组,并且没有限定数组的大小
在shell中,用 数组名=()表示数组,例如:
数组名=(值1 值2 ... 值n)
array_name=(value0 value1 value2 value3)
(1)读取数组
读取
valuen=${array_name[n]}数组元素值的一般格式是:${数组名[下标]}
另外使用@符号可以获取数组中的所有元素,例如:
echo ${array_name[@]}
(2)获取数组的长度
用#
length=${#array_name[@]}
注意如果要添加注释的话,在编辑器里用#