shell脚本语法随笔

62 篇文章 54 订阅
56 篇文章 0 订阅
1、循环
1.1、类C循环
例:求1100的和
sum=0
for ((i=1;i<=100;i++))
do
     let sum+=i
done

1.2for in循环
例:输出参数列表所有参数
for i in $@
do
     echo $i
done

1.3while循环
例:求 1100的和
sum=0
x=1
while x<=100
do
     let sum+=x 
     let x+=1
done

1.4、until循环,直到条件成立才退出
例:求1100的和
sum=0
x=0
until x>100      #条件为假循环
do
     let sum+=x
     let x+=1
done

2、函数
2.1、函数定义格式:
function 函数名()
{
#函数实现
}

说明:function是定义函数的关键字,可以省略后面的"()"只是起到形式作用,并没有实际功能。传参的时候通过$1...可以获取函数的参数。在函数内定义的变量在当前shell脚本中是全局有效的,如果只想要其在函数代码块内有效的话,可以加"local"关键字进行修饰。
两条重要的概念:
将函数定义看做是一个小型脚本,函数的参数分别是$0表示脚本的名称,函数的参数是$1...。
将函数调用看做是一条命令,直接函数名跟上参数就可以。

2.2、获取函数的返回值
可以在函数内打印出返回值,然后在调用函数的使用命令替换接收返回值。
例:
这里写图片描述
还可以使用在本脚本内全局的变量进行返回,不过这种方式不太安全。

使用return返回退出码对返回结果进行检测。
例:
这里写图片描述
注意:fun也是一条命令,他也有退出码,所以可以作为if的测试语句。

3、捕捉信号
命令:trap 自定义处理函数 信号
例:
这里写图片描述
这里写图片描述

4、在脚本文件中还可以引入其他脚本文件
格式:source 头文件 或 . 头文件 就可以了,这个头文件里面可以放一些函数的定义。

5、在脚本中从文件里面读取内容
例:
这里写图片描述
这表示每次从file.txt里面读取一行内容,然后输出,直到读到文件结尾为止。

例2:
这里写图片描述
表示将file.txt的内容全部显示出来,然后通过管道让read读取。

6、向文件里面写内容
例:
这里写图片描述
表示从cat开始,到EOF这个标志之间的内容都追加到file文件里面。这个结束标志可以随便定义,没有规定必须是EOF。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值