欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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传参有点不一样,调用函数的时候,参数直接跟在函数名后面,在函数体内部通过 n1表示第一个参数,$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脚本的时候,我们可会会遇到要把结果输出到一本文件中,比如日志记录等。这时候就需要我们把输出的结果重定向了,必然会用到下面三个输入输出流

  1. stdin:标准输入,用0来描述
  2. stdout:标准输出,用1来描述
  3. 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 脚本语言