运行shell脚本
#!/bin/bashecho "hello word"
上面是常见代码样式,“#!”的意思是告诉系统使用哪个脚本执行器,echo向窗口输出文本。
chmod +x ./test.sh ./test.sh #执行脚本
/bin/sh test.sh#直接运行脚本,无需“#!”
shell变量
bianliangming="xxxx"
##定义变量,注意以下规则
#等号两旁不加空格,变量名不加$
#首字符不能数字
#不能使用标点,可以用下划线
echo ${bianliangming}
#使用变量时加$
#如上方法大括号可加可不加,帮助识别变量界限
readonly bianliangming
#设置成只读变量,不可修改
unset 变量名
#删除变量
shell字符串
bianliang="abc"bianliang_1='abc'
字符串可以用单引号,也可以用双引号,单引号是原样输出,里面不能有变量。双引号内可以有变量,可以出现转义字符。
string="abcdefg"
echo $string #获取字符长度
echo ${string:1:4} #提取,从第2个字符起截取4个字符,第一个字符是第0个
echo `expr index "${string}" a`
#查找a字符在变量的哪个位置,`是反引号,在键盘esc键下面那个
shell数组
数组名=(1 2 3 4) #定义数组数组名[1]=值 #定义第一个分量
shell数组下标由0开始编号,用括号表示数组,元素用空格分隔。可以单独定义数组的各个分量,下标的范围没有限制。
${数组名[下标]} #读取数组的元素值
echo ${数组名[@]} #显示出所有元素
length=${数组名[@]} #获取元素个数
length=${数组名[n]} #获取第n个元素的长度
shell传递参数
#特殊字符$# #传递的参数的个数$* #以单个字符串传递参数$@ #传递所有参数$$ #当前进程号ID$! #显示最后一个进程号$- #显示shell使用的当前选项$? #显示最后命令的状态,返回0为正常
执行shell脚本时,传递参数的格式为:$n,n为数字,$*和$@都是引用多有参数,如果有双引号存在,$@会分别传递三个参数,而另外一个只会传递一个参数。
联系客服