shell学习
shell脚本一般规律:
第一行的脚本声明告诉系统使用哪种解释器执行脚本,常用#! /bin/bash
第二行为注释,对脚本功能和某些命令描述
之后为可执行语句
如hello world脚本
#! /bin/bash #helloworld echo "hello world"
保存为helloword.sh,可在终端执行该教程。
echo 为向窗口输出文本。
变量名和等号之间不能有空格,如your_name="wmy"
反单引号(esc键下方)返回语句执行结果,如for file in `ls /etc`则返回/etc目录下的列表
使用变量的时候要加$,如输出变量的值:echo $your_name
删除变量unset
在字符串前加#即可获得字符串长度
提取子字符,如从第2个字符开始截取4个字符
string="runoob is a great site" echo ${string:1:4} # 输出 unoo
shell传递参数
$n。n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推……,0为执行的文件名,$#传递的参数个数,
shell不支持数学运算,但是可以使用awk 和 expr实现,如
#!/bin/bash val=`expr 2 + 2` echo "两数之和为 : $val"
执行结果为4
检测文件属性
read用于从输入中读取一行,并把输入行的每个字段的值指定给 shell 变量
-e开启转义,如
echo -e "OK! \n" # -e 开启转义 echo "It is a test"
则输出结果为
printf也可以用来输出
shell可以定义函数,当函数无返回值时,返回的是最后一条命令语句的值,当有返回值时,用$?调用返回值。
调用函数时,可以向里面传递参数,在函数体内部,通过 $n 的形式来获取参数的值。
0是标准输入,1是标准输出,2是标准错误输出。