入门
#bin/bash
ehco "shell"
变量
-
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
-
中间不能有空格,可以使用下划线
- 不能使用标点符号
- 不能使用bash里面关键字
有效变量:vare
le_pa_f
_djj
无效变量
2_ss
? d
#skfn
使用变量加上$就可使用
只读变量 readonly
删除变量 unset
变量类型
- 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
- 环境变量 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
- shell变量 shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。
单引号
str='string'
单引号字符串的限制:
- 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
- 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
双引号
unquie="i am an adol"
str="Hello, "$unquie"!
"
echo -e $str
输出结果为:
Hello, I am an anol"!
双引号的优点:
- 双引号里可以有变量
- 双引号里可以出现转义字符
拼接字符串
#单引号作用
bor='ddd'
#双引号作用
unqie="adol"
str="hello,"$unqie"!
"
echo -e $str
#双引号拼接
suming="evv"
shuchu="hello,"$suming"!"
shuchu_1="hello,${suming}!"
echo $shuchu $shuchu_1
#单引号拼接
musing="lcv"
shuchu_2='hello,'$musing'!'
shuchu_3='hello,${musing}!'
#获取字符串长度
string="abcdef"
echo ${#string}
#提取子字符串
zifu="today is windy"
echo ${#zifu:5:2}
#查找子字符串
#数组
qrray=(va1,va2,va3)
根据下标读取
注释可以用#代替