Linux Shell笔记(3)

本文介绍Shell脚本的基础知识,包括函数定义与调用、参数传递、输入/输出重定向及文件包含等。详解如何在Shell中自定义函数,进行参数处理,掌握不同类型的重定向方法,实现文件内容的有效管理和调用。

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

函数

shell 可以用户定义函数,并且能随便调用
定义格式:

[ function ] funname [()]
{
	action;
	[return int;]
}

1.可以带 function fun()定义,也可以直接 fun()定义,不带任何参数
2.参数返回,可以加 return 返回,不加 return时以最后一条命令的执行结果作为返回值。
3.return 后跟数值,通过 echo $? 获取return值
注意:所有函数必须在使用前定义。

函数参数

函数调用直接使用函数名字即可,调用函数时可以传递参数,在函数内通过 $ n 的形式来获取参数值,例如 &1 表示第一个参数;当n>=10时,使用$ {n}来获取

funWithParam(){
    echo "第一个参数为 $1"
    echo "第十个参数为 ${10} !"
}
funWithParam 1 2 3 4 5 6 7 8 9 34 73
输入/输出重定向
命令描述
command > file将输出重定向到 file
command < file将输入重定向到 file
command >> file将输出以追加的方式重定向到 file
n > file将文件描述符为 n 的文件重定向到 file
n >> file将文件描述符为 n 的文件以追加的方式重定向到 file
n >& m将输出文件 m 和 n 合并
n <& m将输入文件 m 和 n 合并
<< tag将开始标记 tag和结束标记 tag之间的内容作为输入

文件描述符 0 通常是标准输入(STDIN),1 是标准输出(STDOUT),2 是标准错误输出(STDERR)

here document
一种特殊的重定向方式,用来将输入重定向一个交互式 Shell脚本或程序

//将 document作为输入传递给 command
command << delimiter
	document
delimiter //这里的delimiter要顶格写,前后都不能有任何字符

/dev/null 文件
如果希望执行某个命令,不在屏幕上显示输出结果,可以将输出重定向到 /dev/null command > /dev/null
/dev/null 是一个特殊文件,写入到里面的内容都会被丢弃
将命令输出重定向到它,可以起到“禁止输出”的效果

command > /dev/null 2>&1  //屏蔽stdout和stderr
文件包含
. file
或
source file

被包含的文件不需要可执行权限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值