shell 编程基础

一、if循环

if循环控制单分支

 eg:

#!/bin/bash
if [ -e /home/study/day7/4.txt ]; then
    echo "文件存在"
else
  touch /home/study/day7/4.txt
fi

if循环多分支

if [  ]; then
command
elif [  ]; then
command
elif [  ]; then
command
else
fi

for 循环

(1for 变量名 in 1 2 3
do
执行动作
done
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
  echo $i
  sleep 2
done

(2for 变量名 in `命令`
do
执行动作
done
 for i in `seq 1 10`
do
  echo $i
  sleep 1
done
for i in $(cat 1.txt)
do
  echo $[ $i + $1 ]
done

3for ((条件))
do
执行动作
done
#!/bin/bash
for (( i = 0; i < 11; i++ )); do
echo $i
done
#!/bin/bash
sum=0
for (( i = 0; i < 11; i++ )); do
  sum=$[ $sum + $i ]
done
echo $sum

对比python的for循环

sum = 0
for i in range(11):
    sum = sum + i
print(sum)

case循环控制

应用场景:case循环常使用于多重分支,与if不同的是,if可以判断多个条件,case一次只能判断一种条件
语法结构:
case 变量 in
1 )
执行动作1
;;
2 )
执行动作2
;;
3 )
执行动作3
;;
....
esac
#!/bin/bash
case $1 in
   1)
  echo "您输入的值为1"
  ;;
   2)
  echo "您输入的值为2"
   ;;
   3)
  echo "您输入的值为3"
   ;;
   4)
   echo "您输入的值为4"
   ;;
esac
while 循环
应用场景:while循环是条件循环也是不定循环,只要条件判断式成立,循环就会一直进行着。直到判断式不成立 或者 选择跳
出循环 才会结束
语法结构:
while [ 条件判断式 ]
do
执行动作
done
#!/bin/bash
i=0
sum=0
while [ $i -lt $1 ]; do
  sum=$[ $sum + $i ]
  i=$[ $i + 1 ]
done
echo "和为:$sum"

对比python的while循环

i = 0
sum = 0
while i < 11:
    sum = sum + i
    i += 1
print(sum)

一、定义函数
方法一
function name() {
    command
}

name为函数名称 

{}内写相关命令

方法二

name(){

command

}

eg:

func1() {
  echo "hello word"

}

count=1
while [ $count -le 5 ]; do
  func1
  count=$[ $count + 1 ]
done
func1
echo "end"

函数使用前必须先定义函数,否则会报错

函数名称必须是唯一的,如果重新定义了函数,新的定义会覆盖原来的定义,这不会产生任何报错信息。

eg:

func1(){
  echo "123"
}

func1
func1(){
  echo "456"
}
func1

echo "end

执行结果如下:

 二、函数返回值

使用return命令

bash shell 使用return命令

#!/bin/bash
function db1() {
  read -p "请输入一个值:" value
  echo $[ $value * 2 ]
}

result=$(db1)

echo "$result"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值