shell脚本中的函数

awk中的内置变量


ARGC 命令行参数个数

ARGV 命令行参数排列

ENVIRON 支持队列中系统环境变量的使用

FNR awk浏览的文件名

FS 设置输入域分隔符

NF 浏览记录的域的个数

NR 已读的记录数

OFS 输出域分隔符

ORS 输出记录分隔符

RS 控制记录分隔符


shell函数需要注意:

如果两个函数的名称相同,那么后面的将会覆盖前面的,而且不会有提示。

函数必须先定义,再使用


返回值

bash shell把函数当做一个小型脚本,执行完后会返回一个退出状态码

共有三种方式返回状态码

默认状态码

方法一:bash shell 中函数的退出状态码是函数中最后一条语句的退出状态码。


方法二:使用return语句

bash shell允许使用return语句退出函数并返回一个特定的退出状态码。

return 允许使用一个整数来定义退出状态码。

在函数刚结束时,去取得这个状态码,可以获得0~255的状态码。


  1 #!/bin/bash
  2
  3 function test() {
  4         echo "test"
  5
  6         return 222
  7 }
  8
  9 test
 10
 11 echo $?

程序执行后:

  


方法三:使用函数的输出

可以用一个变量来存储一个函数的输出,shell不会把函数中read中的内容输出到stdout中

如:result=`f1` 


在函数中使用变量:

函数名字和函数的参数必须在同一行


如果传递的是数组,只识别第一个元素。


全局变量:

在脚本中定义的变量都是全局变量,如果没有定义为局部变量。


局部变量

函数内部任何变量都可以声明为局部变量,只需在变量前加local关键字即可。

在脚本中定义的局部变量,函数中是无法访问的。


sed:

sed编辑器可以基于输入到命令行或是存储在命令文本文件中的命令来处理数据流中的数据


sed -f filename  对输入的文件执行filename中的命令 



sed -e script   对输入的文件执行script中的命令


sed -n  不要为每个命令生成输出,等待print命令来输出


文件中的sed命令可以使用换行或分号隔开









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值