一、shell脚本的建立
shell脚本是一个文件,其中包含将由shell执行的一系列命令。
当运行一个shell脚本时,脚本文件中的每一条命令被传送给shell执行。
方法:
利用编辑器(如vi)
脚本执行:bash 脚本名 或者 ./脚本名增加执行权限:chmod a+x 脚本名
二、shell特殊字符
*:匹配任意字符的出现。
?:匹配任意一个字符。
[]:匹配括号内所限定的任何一个字符
双引号”:双引号括起来的字符作为普通字符对待
$、 倒引号`
、反斜线\这三个仍保留其特殊功能;
$表示变量替换,用预先指定的变量值代替$和变量
`倒引号表示命令替换,
\反斜线在后面字符是$、`、”、\、换行符之一时,表示转义字符,即不对后面字符特殊处理
单引号’:
单引号括起来的字符都作为普通字符。
单引号保留空白符
用反斜杠消除单引号的特殊含义
倒引号`:也称为命令替换符
倒引号括起来的字符串被shell解释为命令行,每次先执行该命令行,然后用标准输出取代整个倒引号部分。
可利用这个功能进行-命令置换,即把倒引号括起来的命令执行结果赋给指定变量.三、输入/输出命令
read命令
利用read命令从键盘上读取数据,然后赋给指定的变量,可以交互式的为变量赋值。
echo命令:使用echo命令可以显示文本行或变量,或者把字符串输入到文件。
echo命令有很多功能,其中最常用的是下面几个:
\c 不换行。
\f 进纸。
\t 跳格。
\n 换行。
-n 禁止换行
-e 解释转义字符
set命令
功能
给位置变量赋值的另一种方法是使用set命令。
四、算法运算
expr命令
功能
该命令提供算术运算功能,并能对数字或非数字字符串进行计算。
五、条件测试
test命令
功能
test是shell内部命令,它计算参数表达式的值为真还是为假。
如果表达式为真,test返回0,
否则,返回非0值。
if -then - elif结构
if [condition_1 ]
then
commands_1
elif[ condition_2 ]
then
commands_2
…
else
commands_n
fi
case语句以case关键字开头,以esca结束
每个模式字符串后可以跟多条命令,其最后一条必须以两个分号(;;)结束
各个模式字符串应唯一,不应重复出现
可以用(*)作为最后一个模式字符串,可以匹配任何情况、
六、循环结构
while循环:while - do - done结构
until循环:until - do - done
结构
for循环:for - in - done结构
●感悟:
shell编程的思想自我感觉是和c语言差不多只是编程的命令和格式不同而已,和c语言有较大的差异性,还是记得命令相对于较多shell编程还是要有思路,只要有思路我感觉编程就不会有太大的问题。