学习笔记:Shell脚本-2015-08-05

参考文档 :http://www.92csz.com/study/linux/14.htm

以下为精简版======================================================================================================================================

Shell脚本----首先它是一个脚本,并不能作为正式的编程语言说白了,shell脚本就是一些命令的集合

Shell脚本通常都是以.sh 为后缀名的。test.sh中第一行一定是 “#! /bin/bash” 它代表的意思是,该文件使用的是bash语法如果不设置该行,那么你的shell脚本就不能被执行。’#’表示注释,在前面讲过的

Shell脚本的执行很简单,直接”sh filename “ 即可,另外你还可以这样执行:" . / filename.sh ", 但是默认我们用vim编辑的文档是不带有执行权限的,所以需要加一个执行权限“chmod +x filename.sh”,那样就可以直接使用’./filename.sh’ 执行这个脚本了

给变量赋值时用到反引号。’d’’d1’在脚本中作为变量出现,定义变量的格式为 “变量名=变量的值”(d=` dfafdfdf `)。当在脚本中引用变量时需要加上’$’符号(echo " the script begin at $d "),这跟前面讲的在shell中自定义变量是一致的


Shell脚本还可以和用户交互



read -p 选项类似echo的作用

你有没有用过这样的命令”/etc/init.d/iptables restart “ 前面的/etc/init.d/iptables 文件其实就是一个shell脚本,为什么后面可以跟一个”restart”? 这里就涉及到了shell脚本的预设变量实际上,shell脚本在执行的时候后边是可以跟变量的,而且还可以跟多个

如果你学过C或者其他语言,相信你不会对if 陌生,在shell脚本中我们同样可以使用if逻辑判断shellif判断的基本语法为:

1)不带else

if  判断语句; then

command

fi




if1.sh中出现了 ((a<60))这样的形式,这是shell脚本中特有的格式,用一个小括号或者不用都会报错,请记住这个格式,即可

2)带有else

if  判断语句 ; then

command

else 

command

fi

以上只是简单的介绍了if语句的结构在判断数值大小除了可以用”(( ))”的形式外,还可以使用”[ ]”。但是就不能使用>, < , = 这样的符号了,要使用 -lt (小于),-gt (大于),-le (小于等于),-ge (大于等于),-eq (等于),-ne (不等于)


shell 脚本中if还经常判断关于档案属性,比如判断是普通文件还是目录,判断文件是否有读写执行权限等常用的也就几个选项:

-e :判断文件或目录是否存在

-d :判断是不是目录,并是否存在

-f :判断是否是普通文件,并存在

-r :判断文档是否有读权限

-w :判断是否有写权限

-x :判断是否可执行

使用if判断时,具体格式为: if [ -e filename ] ; then


shell  脚本中,除了用 if 来判断逻辑外,还有一种常用的方式,那就是 case

【shell脚本中的循环

Shell脚本中也算是一门简易的编程语言了,当然循环是不能缺少的常用到的循环有for循环和while循环下面就分别介绍一下两种循环的结构

通过这个脚本就可以看到for循环的基本结构 

for 变量名 in 循环的条件; do

command

done



【shell脚本中的函数

fun.sh 中的sum() 为自定义的函数,在shell脚本中要用

function 函数名() { 

command 

}


shell脚本中,函数一定要写在最前面,不能出现在中间或者最后,因为函数是要被调用的,如果还没有出现就被调用,肯定是会出错的

上个脚本执行过程如下:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值