shell的函数定义和重定向方法

字号+ 编辑: 国内TP粉 修订: 德玛西亚 来源: 利志分享 2023-09-12 我要说两句(0)

原360技术总监曾哥分享的shell语言系列技术资料分享。本篇主要讲述shell的函数定义以及重定向的实现。

上代码

#!/bin/bash
# shell函数和重定向
# shell 函数
# 函数的定义格式如下
# [ function ] funname [()]
# {
# action;
# [return int;]
# }
# 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。
# 2、参数返回,可以显示加:return 返回,如果不加,将以最后一条命令运行结果,作为返回值。 return后跟数值n(0-255)
demoFun(){
echo "这是一个hello world函数"
}
demoFun
funWithReturn(){
echo "输入第一个数字"
read num
echo "输入第二个数字"
read aNum
echo "这两个数字分别是:$num和$aNum"
return $(($num+$aNum))
}
funWithReturn
echo "输入的两个数字之和是$?"
# 函数参数
# 在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 $n 的形式来获取参数的值,例如,$1表示第一个参数,$2表示第二个参数...
funWithParam(){
echo "第一个参数$1"
echo "第二个参数$2"
echo "参数的总个数是$#个"
}
funWithParam 2 4 5 6

输出重定向

一般情况下,每个 Unix/Linux 命令运行时都会打开三个文件:

标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。

标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。

标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。

默认情况下,command > file 将 stdout 重定向到 file,command < file 将stdin 重定向到 file。

如果希望屏蔽 stdout 和 stderr,可以这样写:command > /dev/null 2>&1

shell文件包含

. filename 或者 source filename 两种方式的效果相同,简单起见,一般使用点号(.),但是注意点号(.)和文件名中间有一空格。

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.Q群: 2702237 13835667

相关课文
  • 防止退出linux终端退出之后导致的nohup进程强制退出

  • Linux系统下word文档转成pdf的办法

  • ubuntu和debian安装nginx或者tengine报错, 找不到pcre依赖库的解决办法

  • linux终端下借助awk命令查询筛出网站access.log日志里的统计信息

我要说说
网上嘉宾点评