linux shell基础1.7--函数

本文深入解析了Bash脚本中的函数定义、参数访问、递归调用、函数导出、命令执行状态、子shell操作以及输入读取等关键概念,旨在帮助开发者掌握Bash脚本的基本语法与高级应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定义函数:

function fname(){

}

或者

fname(){

}

函数定义:

fname

或者

fname args1 args2

访问函数参数:

$1:第一个参数

$2:第二个参数

$n:第n个参数

$@被扩展成:"$1"、"$2"等

$*被扩展成:$1c$2等其中,c是IFS的第一个字符

$@用的最多。$*将所有参数当做一个字符串,很少使用。

bash中函数支持递归:

f(){

echo $1;

f hello;

sleep 1;

}

导出函数:

函数可以像环境变量一样用export导出,作用域就可以扩展到子进程中。

export -f fname

读取命令返回值

echo $?

成功退出值为0;否则为非0;

读取命令序列输出:

管道操作符"|"

cmd_output=$(COMMANDS)

或者

cmd_output=`COMMANDS`   #此处为反引号

利用子shell生成一个独立的进程

子shell本身就是独立的进程,可以使用()操作符来定义一个子shell

如(cd /bin;ls;);

子shell中执行的脚本不对当前shell有任何影响;所有的改变仅限于子shell内。

通过引用shell的方式保留空格和换行符。

如:out="$(cat text.txt)" #将其放入双引号中。

echo $out

以不按回车键的方式读取字符“n”

read从键盘或者标准输入中读取输入。

读取n个字符并存入变量

read -n num var

不会显方式读入密码:

read -s var

显示提示信息

read -p "prompt:"

特定时间内

read -t timeout var

用定界符结束输入行:

read -d ":" var

字段分隔符和迭代器

内部字段分隔符(IFS)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值