1. 函数
funwithReturn(){
echo "输入一个数字"
read aNum
echo "输入第二个数字"
read oNum
return $(($aNum+$oNum))
}
funwithReturn
echo $?// 函数返回值在调用该函数后通过 $? 来获得
/** 结果
输入一个数字
1
输入第二个数字
2
3
**/
//带参函数
funwithParam(){
echo "第一个参数$1"
echo "第二个参数 $2"//当n>=10时,需要使用${n}来获取参数
echo "所有参数:$*"
}
funwithParam a b c d
/***
第一个参数a
第二个参数 b
所有参数:a b c d
**/
参数处理 | 说明 |
---|---|
$# | 传递到脚本或函数的参数个数 |
$* | 以一个单字符串显示所有向脚本传递的参数 |
$$ | 脚本运行的当前进程ID号 |
$! | 后台运行的最后一个进程的ID号 |
$@ | 与$*相同,但是使用时加引号,并在引号中返回每个参数。 |
$- | 显示Shell使用的当前选项,与set命令功能相同。 |
$? | 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。 |
2. 输入输出重定向
echo "abc" > ./a.txt //将abc写入文件
command > /dev/null ///dev/null 是一个特殊的文件,写入到它的内容都会被丢弃
命令 | 说明 |
---|---|
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 之间的内容作为输入。 |
3. 文件包含
test2.sh文件
#使用 . 号来引用test1.sh 文件
. ./test1.sh
# 或者使用以下包含文件代码
# source ./test1.sh
命令
chmod +x test2.sh //添加testt2的可执行权限
./test2.sh //执行
网友评论