Shell Script初入门

2017-07-14  本文已影响0人  DorisSunny

Shell script学习总结

shell script注意事项

  1. 命令的执行顺序 从上至下,从左至右
  2. 命令的执行:命令,参数间的多个空白都会被忽略掉
  3. 空白行也将被忽略掉,并且[tab]键所得的空白被同样视为空格键。
  4. 如果一行内容太多可以用“[Enter]”来扩展到下一行。
  5. “#”之后的语句是注释语句。执行时将被忽略。

Shell script的执行

假设我们有一个/home/doris/shell.sh脚本文件,执行该脚本文件的方法有如下几种:

  1. 直接命令执行, shell.sh必须有具备可读与可执行(rx)权限,然后:
    • 绝对路径执行:/home/doris/shell.sh
    • 相对路径执行:当前工作目录在/home/doris,则命令为 ./shell.sh
    • 变量"PATH"功能,将shell.sh放置在PATH指定的目录内,例如: ~/bin/.
  2. 以bash进程来执行(此时shell.sh只需要有r权限即可):通过"bash shell.sh"或"sh shell.sh"来执行,记住用这个方式来执行的时候要先进入到该文件所在目录中。
  3. source shell.sh也可以用来执行shell.sh文件,与"sh shell.sh"区别在于source执行的bash进程就是父进程,而bash是在子进程中执行,在子进程中执行的命令的变量不会作用于主进程,只在子进程中起作用。

shell追踪与调试

在用sh执行shell脚本的时候可以对执行追踪与调试。
命令如下:

sh [-nvx] shell.sh
参数:
-n: 不需要执行shell.sh,仅仅查询语法的问题。
-v: 在执行script前,先将script的内容输出到屏幕上。
-x: 将使用到的script内容显示在屏幕上,可以跟踪每一个执行的命令。

在这个命令中,-x是一个非常有用的参数,可以帮助我们查看sh执行的过程,快速定位错误在那里。

Shell script 语法

2 在bash当中===是一样的,不过一般用=表示变量的设置,==用于逻辑判断。

条件判断式

1 if[];...then...fi
2 if[];...then..elif[];..then...else..fi
3 当变量是固定值的时候,可以使用case判断式,如果有学习过JAVA的,其实就相当于switch语句。
case $变量名称 in
"第一个变量内容")
;;
"第二个变量内容")
;;
*)//其他变量
;;
esac

循环(loop)

1 while [condition] 当condition不成立时才停止。
do
程序段落
done

2 until [condition] 当condition成立时才停止与while do done相反。
do
程序段落
done
3 for var in con1,con2,con3 依次读取con1,con2,con3执行程序段落
do
程序段落
done
4 for ( ( 初始值1; 限制值; 执行步长) )
do
程序段落
done

上一篇 下一篇

猜你喜欢

热点阅读