Shell编程学习笔记(二)

Shell编程学习笔记(二)

1. for循环基本语法:

#方法一
for 变量 in 值1 值2 值3...
do
程序/代码
done
#方法二
for((初始值;循环控制条件;变量变化))
do
程序/代码
done

示例:

#!/bin/bash
#案例1:打印命令行输入的参数[$*和$@的区别]
#注意:$*是把输入的参数,当成一个整体,所以,只会输出一行
for i in "$*"
do
        echo "num is $i"
done
#使用$@来获取参数,注意,这里是分别对待,所以会输出几行
echo "============================="
for j in "$@"
do
        echo "num is $j"
done
unset i
#输出sum
SUM=0
for(( i=1; i<=$1; i++))
do
        SUM=$[$SUM+$i]
done
echo "总和SUM=$SUM"

2. while循环基本语法:

while 循环
while 条件表达式 ; do
      命令
done

示例:

break和continue语句
continuebreak 语句只能循环语句中使用;
break:终止循环,运行针跳至done后;
continue :跳出当前循环,运行针跳至do后,开始下一循环;
break:
#!/bin/bash
N=0
while [ $N -lt 10 ]; do
        let N++
        if [ $N -eq 5 ]; then
                break
        fi
        echo $N
done
continue:
#!/bin/bash
N=0
while [ $N -lt 10 ]; do
        let N++
        if [ $N -eq 5 ]; then
                continue
        fi
        echo $N
done

3. 读取控制台输入内容

read(选项)(参数)
选项:
-p:指定读取值时的提示符;
-t:指定读取值时等待的时间(秒)。
参数
变量:指定读取值的变量名
#示例:
#!/bin/bash
#读取控制台输入的一个NUM1值
read -t 10 -p "请输入一个数NUM1="NUM1
echo "你输入的一个数NUM1=$NUM1"

4. 系统函数

​ shell编程和其它编程语言一一样, 有系统函数,也可以自定义函数。系统函数中,我们这里就介绍两个。

  • 案例1:请返回/home/aaa/test.txt 的"test.txt" 部分 basename /home/ aaa/test. txt
  • 案例2:请返回/home/aaa/test.txt 的/home/aaa dirname /home/ aaa/test. txt

5. 自定义函数

​ 由函数名 返回值 参数组成,linux shell 可以用户定义函数,然后在shell脚本中可以随便调用

#!/bin/bash
[function]函数名字 () {
       CMD  #函数体
}
例:
#!/bin/bash 
function A () {
    echo "hello world"
    return 1
    # return 会终止函数 return下的所有代码不会再执行
    echo "hello world" 
}
# 执行A
A

​ 示例2:

#!/bin/bash
#案例1:计算输入两个参数的和(动态获取),getSum
#定义函数getSum
function getSum(){
	SUM=$[$n1+$n2]
	echo "和是=$SUM"
}
#输入两个值
read -p "请输入一个数n1="n1
read -p "请输入一个数n2="n2
#调用自定义函数
getSum $n1 $n2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程哥哥吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值