#输出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