shell入门(6)——函数使用及重定向输出
程序员文章站
2022-04-05 14:51:23
...
函数的使用
shell语言和其他高级语言一样,提供函数支持,用户可以自定义函数,在shell脚本中调用
函数定义
shell定义函数的方式和JavaScript、PHP等脚本语言很相似,shell也是一种脚本语言,具体如下
#!/bin/bash
function myShell(){
ehco "my shell fucntion"
return 1
}
echo "shell function start here...."
myShell
echo "shell function end here...."
//结果输出如下:
shell function start here....
my shell fucntion
shell function end here....
在 Shell 中,参数返回可以显示加 return 返回。如果不加,将以最后一条命令运行结果,作为返回值。返回值只能正整数,并且范围在 0 - 255。
函数传参
shell 的函数和JavaScript传参有点不一样,调用函数的时候,参数直接跟在函数名后面,在函数体内部通过 1表示第一个参数,$2表示第二个参数…
PS:当n>=10时,需要使用${n}来获取参数
示例
function myShell(){
echo "参数1:$1"
echo "参数2:$2"
echo "参数的个数:$*"
}
myShell a b c d e f g
//函数输出:
参数1:a
参数2:b
参数的个数:7
输出重定向
写shell脚本的时候,我们可会会遇到要把结果输出到一本文件中,比如日志记录等。这时候就需要我们把输出的结果重定向了,必然会用到下面三个输入输出流
- stdin:标准输入,用0来描述
- stdout:标准输出,用1来描述
- stderr:标准错误,用2来描述
输出示例
vim rm6.sh
#!/bin/bash
echo "hello shell" > out.txt
# echo "hello shell" 1> out.txt 这一句与上面一句结果是完全一样的
# 如果是想输出shell命令中的错误信息,可以用 2> error.txt这个命令
输出结果
[xiao@iZ2zears50pnhth5qtl786Z ~]$ ./rm6.sh
[xiao@iZ2zears50pnhth5qtl786Z ~]$ cat out.txt
hello shell
本来应该输出到屏幕的hello shell
被重定向到out.txt中,通过cat命令查看out.txt,里面的内容就是 hello shell
上一篇: 二叉树遍历,求深度
下一篇: shell入门(8)——数组的使用