shell函数和重定向

2022-04-25 08:33:07 浏览数 (1)

#!/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 "这两个数字分别是:

return ((num

}

funWithReturn

echo "输入的两个数字之和是$?"

# 函数参数

# 在Shell中,调用函数时可以向其传递参数。在函数体内部,通过 n 的形式来获取参数的值,例如,1表示第一个参数,

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 人点赞