文章目录
1 变量
1.1 变量命名规则
- 只能用英文字母、数字和下划线,首个字母不能以数字开头;不能使用bash里的关键字(help命令可查)。
1.2 变量的定义与赋值
- 使用” = “赋值:变量名与等号之间不能有空格;
_var=123
CurrentPath=`pwd`
- 通过语句给变量赋值。
for file in `ls /etc` do
echo $file
done
1.3 变量的使用
- 使用一个定义过的变量,只需要在变量名前加 $ 。
echo $_var
_var2=$_var
- 变量名可加{}来表示边界,如下所示,第一句变量名为CurrentPathIs, 第二句变量名为CurrentPath 。
echo $CurrentPathIs
echo ${CurrentPath}Is
- 只读变量:用
readonly
命令可以将变量定义为只读变量,只读变量的值不能再被改变。试图更改只读变量的值时会报错:bash: _var: readonly variable 。
_var=123
readonly _var
_var=456
- 删除变量:用
unset
命令可以删除变量。如下,第二句echo没有任何输出。
_var=123
echo $_var
unset _var
echo $_var
2 字符串
2.1 字符串的使用
字符串可以用单引号、双引号标识,也可以不用引号。
- 单引号:任何字符都会原样输出,单引号字符串中的变量名无效;
- 双引号:可以使用变量、转义字符
your_name="runoob"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting
echo $greeting_1
# 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2
echo $greeting_3
2.2 字符串相关操作
- 获取字符串的长度
string="abcd"
echo ${#string} #输出 4
- 提取子字符串
string="runoob is a great site"
echo ${string:1:4} # 输出 unoo
- 查找字符串
string="runoob is a great site"
echo `expr index "$string" io` # 输出 4
echo `expr index "asdfvs" d` # 输出 3