Linux shell编程学习笔记(五) 函数

本文介绍了Shell脚本的基础知识,包括命令执行顺序、函数定义与调用、条件判断、循环结构等,并通过具体示例展示了如何使用这些基本元素来构建简单的脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、shell命令的执行顺序

别名:如 alias ll='ls -alF'

关键字:如 if, for

函数

内置命令:如cd, pwd

外部命令:脚本和可执行程序,在PATH中查找

用type命令查询命令的类型,如:

book@wzs:~/work/tq210/shell$ type cd
cd is a shell builtin
book@wzs:~/work/tq210/shell$ type ./test.sh 
./test.sh is ./test.sh
book@wzs:~/work/tq210/shell$ type cp
cp is /bin/cp
book@wzs:~/work/tq210/shell$ type ls
ls is aliased to `ls --color=auto'

2、函数调用方法

用source命令将函数从文件中读入,然后像命令一样调用函数,如下:

#!/bin/bash
#test.sh
#test function
#by wzs 2017/10/23
func()
{
        echo "test $1"
}
调用函数

book@wzs:~/work/tq210/shell$ source test.sh 
book@wzs:~/work/tq210/shell$ func aa
test aa

3、函数的返回值

return命令:只能返回0到255之间的整数,如下:

#!/bin/bash
#test.sh
#test function
#by wzs 2017/10/23
func()
{
        let "sum=$1 + $2"
        return $sum
}

运行脚本文件:

book@wzs:~/work/tq210/shell$ source test.sh 
book@wzs:~/work/tq210/shell$ func 1 5
book@wzs:~/work/tq210/shell$ echo $?
6

4、if/else

#!/bin/bash
#test.sh
#test function
#by wzs 2017/10/23
if [ $1 -eq 100 ]
then
        echo "OK100"
elif [ $1 -eq 200 ]
then
        echo "OK200"
else
        echo "ERROR"
fi

注意:“[ ]” 里的两边都要有空格

5、while

6、case

#!/bin/bash
#test.sh
#test function
#by wzs 2017/10/23
author=false
list=false
file=""

while [ $# -gt 0 ]
do
        case $1 in
        -f)     file=$2
                shift
                ;;
        -l)     list=true
                ;;
        -a)     author=true
                ;;
        --)     shift
                break
                ;;
        -*)     echo $0 $1:unrecognized option!
                ;;
        *)      break
                ;;
        esac
        shift
done



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值