shell流程控制练习题

1.写一个 bash脚本以输出数字0到100中7的倍数(0 7 14 21......)的命令。

①编辑脚本文件

#方法一
[root@RHCE11 chap04]# vim + ./test1.sh
#!/bin/bash
#########################
#File name:./test1.sh
#Version:v1.0
#Email:[email protected]
#Created time:2023-12-18 21:44:34
#Description:
#########################
for i in {0..100..7}
do
        echo $i
done
#方法二
[root@RHCE11 chap04]# vim + ./test1.sh
#!/bin/bash
#########################
#File name:./test1.sh
#Version:v1.0
#Email:[email protected]
#Created time:2023-12-18 21:44:34
#Description:
#########################
for (( i=0; i<=100; i++ ))
do
  if [ $((i % 7)) -eq 0 ]
  then
    echo $i
  fi
done

②修改权限

[root@RHCE11 chap04]# chmod a+rx ./test1.sh

③测试

shell流程控制练习题_第1张图片

2.写一个 bash脚本以统计一个文本文件 nowcoder.txt中字母数小于8的单词。
示例:
        假设 nowcoder.txt 内容如下:
        how they are implemented and applied in computer

①编辑脚本文件

[root@RHCE11 chap04]# vim + ./test2.sh
#!/bin/bash
#########################
#File name:test2.sh
#Version:v1.0
#Email:[email protected]
#Created time:2023-12-19 16:45:33
#Description:
#########################
# 读取nowcoder.txt文件
while read line
do
    # 将每行文本拆分成单词
    for word in $line; do
        # 统计单词的字母数
        letter_count=$(echo $word | wc -c)
        # 判断字母数是否小于8
        if [ $letter_count -lt 8 ]; then
            # 输出符合条件的单词
            echo "$word"
        fi
    done
done < nowcoder.txt

②修改权限

[root@RHCE11 chap04]# chmod a+rx ./test2.sh

③测试

shell流程控制练习题_第2张图片

3.写一个 bash脚本以实现一个需求,去掉输入中含有this的语句,把不含this的语句输出。
示例:
        假设输入如下:
        that is your bag
        is this your bag?
        to the degree or extent indicated.
        there was a court case resulting from this incident
        welcome to nowcoder
你的脚本获取以上输入应当输出:
        that is your bag
        to the degree or extent indicated.
        welcome to nowcoder

①编辑脚本文件

[root@RHCE11 chap04]# vim + test3.sh
#!/bin/bash
#########################
#File name:test3.sh
#Version:v1.0
#Email:[email protected]
#Created time:2023-12-19 17:10:23
#Description:
#########################
while read line; do
  if [[ ! $line =~ this ]]; then
    echo "$line"
  fi
done 

②修改权限

[root@RHCE11 chap04]# chmod a+rx ./test3.sh

③测试

shell流程控制练习题_第3张图片

你可能感兴趣的:(linux,运维,服务器,网络,centos)