1.shell简介
从程序员的角度来看, Shell本身是一种用C语言编写的程序;
从用户的角度来看,Shell是用户与Linux操作系统沟通的桥梁。用户既可以输入命令执行,又可以利用 Shell脚本编程,完成更加复杂的操作。
PS:shell运行不要用root账户,普通账户授予可读r,可执行x,755;否则可能会对数据造成巨大损坏
2.shell基本语法
执行Shell程序的方法有3种:
- sh Shell程序文件名
这种方法的命令格式为:
bash Shell程序文件名
这实际上是调用一个新的bash命令解释程序,而把Shell程序文件
名作为参数传递给它. 新启动的Shell将去读指定的文件,可执行文件
中列出的命令, 当所有的命令都执行完后结束. 该方法的优点是可以
利用Shell调试功能.
2.sh
格式为:
bash< Shell程序名
这种方式就是利用输入重定向,使Shell命令解释程序的输入取自
指定的程序文件. - 用chmod命令使Shell程序成为可执行的
一个文件能否运行取决于该文档的内容本身可执行且该文件具有
执行权. 对于Shell程序, 当用编辑器生成一个文件时,系统赋予的许
可权都是644(rw-r-r–), 因此, 当用户需要运行这个文件时,只需要直接键入文件名即可.
if条件语句
Shell程序中的条件分支是通过if条件语句来实现的,其一般格式
为:
if 条件命令串
then
条件为真时的命令串
else
条件为假时的命令串
fi
for循环
for循环对一个变量的可能的值都执行一个命令序列,赋给变量的
几个数值既可以在程序内以数值列表的形式提供, 也可以在程序以外
以位置参数的形式提供. for循环的一般格式为:
for变量名 [in数值列表]
do
若干个命令行
done
变量名可以是用户选择的任何字串, 如果变量名是var,则在in之
后给出的数值将顺序替换循环命令列表中的$var. 如果省略了in, 则
变量var的取值将是位置参数.对变量的每一个可能的赋值都将执行do
和done之间的命令列表。
while和until循环
while和until命令都是用命令的返回状态值来控制循环的.While
循环的一般格式为:
while
若干个命令行1
do
若干个命令行2
done
只要while的"若干个命令行1"中最后一个命令的返回状态为真,
while循环就继续执行do…done之间的"若干个命令行2".
until命令是另一种循环结构, 它和while命令相似, 其格式如下
until
若干个命令行1
do
若干个命令行2
done
until循环和 while循环的区别在于: while循环在条件为真时继
续执行循环, 而until则是在条件为假时继续执行循环.
Shell还提供了true和false两条命令用于创建无限循环结构, 它
们的返回状态分别是总为0或总为非0