shell指令碼(二)

科技小能手發表於2017-11-12

1.Until迴圈語句

1
2
3
4
5
6
7
8
9
#!/bin/bash
a=10;
until [[ $a -lt 0 ]];
 
do
 
echo $a ;
((a--));
done;

2.case 選擇語句

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
#auto install LAMP
#by 2015-6-30
case $1 in
         apache )
echo "wait for install httpd server..."
yum install http* -y
;;
        mysql )
echo -e "wait fo install mysql server..."
        yum install mysql mysql-devel mysql-server -y
        ;;
        php )
        echo "wait fo install php...."
        yum install php php-server php-mysql -y
        ;;
        * )
echo -e " 33[32mUsage:{$0 apache|mysql|php|help} 33[0m"      
        ;;
esac

3.製作選擇選單

1
2
3
4
#!/bin/bash
#auto install LAMP
 
#by 2015-6-30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
PS3="select your will exec menu:"
 
select in "apache" "mysql" "php"
 
do
 
case $i in
 
         apache )
 
echo "wait for install httpd server..."
 
yum install http* -y
 
;;
 
        mysql )
 
echo -e "wait fo install mysql server..."
 
        yum install mysql mysql-devel mysql-server -y
 
        ;;
 
        php )
 
        echo "wait fo install php...."
 
        yum install php php-server php-mysql -y
 
        ;;
 
        * )
 
echo -e " 33[32mUsage:{$0 apache|mysql|php|help} 33[0m"
 
        ;;
 
esac
 
done

~ 4.選擇選單退出shell

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash
 
PS3="select a meau:"
echo -e " 33[32mPlease chose a commend to run 33[22m"
select i  in  "w" "top" "ifconfig" "free" "quit"
 
        do
        case    $i in
        w)
        w;exit
        ;;
        top)
        top;exit
        ;;
        ifconfig)
        ifconfig;exit
        ;;
        free)
        free -m;exit
        ;;
        quit )
        exit
        ;;
        *)
echo -e" 33[32mPlease input a number: 33[0m"  
;;
esac
done

5.列印乘法口訣shell

1
2
3
4
5
6
7
#! /bin/bash
for in `seq 1 9`; do
        for in `seq 1 $i`; do
                echo -ne  "${j}x${i}=$(($i*$j)) "
        done
        echo
done
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    6.shell中cut擷取命令
-c list 指定剪下字元數。
-f field 指定剪下域數。
-d 指定與空格和t a b鍵不同的域分隔符。
- c用來指定剪下範圍,如下所示:
- c 1,5-7 剪下第1個字元,然後是第5到第7個字元。
-c1-50 剪下前5 0個字元。
-f 格式與- c相同。
-f 1,5 剪下第1域,第5域。
- f 1,10-12 剪下第1域,第1 0域到第1 2域。
 
例子:
cut -d: -f1  /etc/passwd  //以“:”為分隔符,擷取passwd中第一列
cut -d: -f1,5   /etc/passwd  //擷取第一列和第五列

                 

~                                                                                                                                   

~                         

                                                                                                                                  


本文轉自 Anonymous123 51CTO部落格,原文連結:http://blog.51cto.com/woshitieren/1669760


相關文章