Linux之Shell脚本的条件判断和函数

本文详细介绍了Shell脚本的基础知识,包括条件判断、循环结构、读取控制台输入及函数使用。通过具体实例,如数字判断、求和运算等,帮助读者掌握Shell脚本编程的基本语法。
部署运行你感兴趣的模型镜像

一、条件判断

1.if判断

(1)基本语法

if [ 条件判断式 ]
then
    程序
fi

注意事项:

1.[ 条件判断式 ]中括号和条件判断式之间必须有空格

2.if后要有空格

(2)实操

输入一个数字,如果是1,则输出java,如果是2,则输出python,如果是其它,则输出linux

#!/bin/bash
​
if [ $1 -eq 1 ]
then
        echo "java"
elif [ $1 -eq 2 ]
then
        echo "python"
else
        echo "linux"
fi

2.case语句

(1)基本语法

case $变量名 in
    "值1")
        程序1
    ;;
    "值2")
        程序2
    ;;
    *)
        程序3
    ;;
    esac

注意事项:

1.case行尾必须为单词"in",每一个模式匹配都必须以右括号")"结束

2.双分号";;"表示命令序列结束,相当于java的break

3.最后的" *) "表示默认模式,相当于java的default

(2)实操

输入一个数字,如果是1,则输出java,如果是2,则输出linux,如果是其它,则输出C++

#!/bin/bash
​
case $1 in
1)
        echo "java"
;;
2)
        echo "linux"
;;
*)
        echo "C++"
;;
esac

3.for循环

(1)基本语法1

for((初始值;循环控制条件;变量变化))
do
    程序
done    

(2)实操1

从1加到100

#!/bin/bash
​
s=0;
for((i=1;i<=100;i++))
do
        s=$[$s+$i]
done
​
echo $s

(3)基本语法2

for 变量 in 值1 值2 值3...
do
    程序
done   

(4)实操2

#!/bin/bash
​
for i in $*
do
        echo "parameter: ${i}"
done

4.while循环

(1)基本语法

while [ 条件判断式 ]
do
    程序
done 

(2)案例

输出一个数字,从1加到100

#!/bin/bash
​
s=0;
i=1;
while [ $i -le 100 ]
do
        s=$[$s+$i];
        i=$[$i+1];
done
​
echo $s

二、read读取控制台输入

1.基本语法

read(选项)(参数)
选项:
    -p:指定读取值时的提示符
    -t:指定读取值时等待的时间(秒)
参数:
    变量:指定读取值的变量名

2.实操

提示7秒内,读取控制台输入的名称

#!/bin/bash
​
read -t 7 -p "please input your name in 7  seconds: " NAME
​
echo $NAME

三、函数

1.系统函数

(1)basename基本语法

basename命令会删掉所有的前缀包括最后一个'/'字符,然后将字符串显示出来

basename [string/pathname] [suffix]

(2)实操

截取/home/depo/shell/read.sh路径的文件名称

[depo@dev shell]$ basename /home/depo/shell/read.sh 
read.sh

(3)dirname基本语法

从给定的包含绝对路径的文件名中去除文件名,然后返回剩下的路径

dirname 文件绝对路径

(4)实操

获取read.sh文件的路径

[depo@dev shell]$ dirname /home/depo/shell/read.sh 
/home/depo/shell

2.自定义函数

(1)基本语法

[ function ] funname[()]
{
    Action;
    [return int;]
}
​
funname

注意:

1.必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样一样先编译

2.函数返回值,只能通过$?系统变量获得,可以显示加return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数组(0-255)

(2)实操

计算两个输入参数的和

#!/bin/bash
​
function sum()
{
        s=0;
        s=$[$1+$2];
        echo $s
}
​
read -p "input your parameter1: " p1
read -p "input your parameter2: " p2
​
sum $p1 $p2

 

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值