不求甚解

此博客为个人学习之用,如与其他作品雷同,纯属巧合。

导航

shell 条件语句基础练习

Posted on 2021-03-23 12:02  三年三班王小朋  阅读(41)  评论(0编辑  收藏  举报

#输出1到15数字

#!/bin/bash
for i in `seq 1 15`
do    echo -e "\033[32m$i\033[0m"
done

#计算1到100数字之和

#!/bin/bash
j=0
for ((i=1;i<=100;i++))
do    
    j=`expr $i + $j`
done
echo -e "\033[31m$j\033[0m"

 tar打包gz压缩所有log结尾文件

#!/bin/bash
LOGURL=/root/abc/log
for i in `find $LOGURL  -name "*.log"`
do 
        tar -zcf `date +%F`alllog.tar.gz  $i 
done

 案例四,远程主机传输文件:

#!/bin/bash

HOST="192.168.0.36 192.168.0.35"
if [ -z "$1" ];then
        echo -e "\033[32mplease insert filename!\033[0m"
        exit
fi

for i in `echo $HOST`
do
        scp -r $1 root@$i:/root/
done

 按行读取文本命令

#!/bin/bash
while read line 
do 
    echo $line
done</etc/hosts

 范例1

#!/bin/bash
read -p "Do you agree(yes/no)?" INPUT
while true;do
case $INPUT in
y|yes)
        echo "you input is YES"
        break
;;
n|no)
        echo "you input is NO"
        break
;;
*)
        echo -n "Input ERROR,please input yes or no?"
        read INPUT
;;
esac
done

范例2

#!/bin/bash
read -p "Do you agree(yes/no)?" INPUT
INPUT=`echo $INPUT | tr 'A-Z' 'a-z'`
case $INPUT in
y|yes)
        echo "you input is YES"
;;
n|no)
        echo "you input is NO"
;;
*)
echo "Input fales,please input yes or no!"
;;
esac

 

 

 

 

until条件语句输出10以内正数

#!/bin/bash
a=10
until [ $a -lt 0 ]
do
    echo -e "\033[34m$a\033[0m"
    ((a--))
done

 

select语句 选择输出

#!/bin/bash
select i in "centos" "ubantu" "redhat"
do
echo "select you use system:$i";
done

 

case语句用法

#!/bin/bash

case $1 in
    apache)
    echo "wait install httpd server....."
    ;;
    mysql)
        echo "wait install httpd server....."
        ;;
    php)
        echo "wait install httpd server....."
        ;;
    *)
    echo "Usage:{$0 apache|mysl|php|help}"
    ;;
esac

 

select选择安装  ps3打印输出

#!/bin/bash

PS3="Select your will exec Menu:"
select i in "Apache" "Mysql" "PHP"
do
case $i in
    Apache)
    echo "wait install httpd server..."
    ;;
    Mysql)
    echo "wait install mysql server..."
    ;;
    PHP)
    echo "wait install PHP server..."
    ;;
    *)
    echo -e "\033[35mUsage:{$0 Apache|Mysql|PHP|Help} \033[0m"
    ;;
esac
done