下载麻将游戏免费|手机麻将游戏

shell中的類庫程序(四)(for語句,if語句,while語句腳本)

飛來科技  發布時間:2019-08-23 16:10:59

本文關鍵詞:shell腳本while語句

shell腳本while語句_shell腳本while語句_shell 腳本 if 語句

本文鏈接:

<1>新建一個腳本,正序輸出1~10

[[email protected] linux]# vim file.sh
[[email protected] linux]# sh file.sh

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
for i in {1..10}
do
        echo $i
done

在這里插入圖片描述

或者也可以寫成這種:

#!/bin/bash
for i in `seq 1 10`
do
        echo $i
done

在這里插入圖片描述

<2>新建一個腳本,正序輸出1,2,3

[[email protected] linux]# vim file.sh
[[email protected] linux]# sh file.sh

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
for i in 1 2 3
do
        echo $i
done

在這里插入圖片描述

<3>新建一個腳本,利用for循環輸出/mnt目錄下的文件或子目錄

[[email protected] linux]# vim file.sh
[[email protected] linux]# sh file.sh

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
for i in `ls /mnt`
do
        echo $i
done

在這里插入圖片描述

shell 腳本 if 語句_shell腳本while語句_shell腳本while語句

<4>新建一個腳本,利用seq設置步長,即輸出1~10的內容,但每隔兩個數字輸出

[[email protected] linux]# vim file.sh
[[email protected] linux]# sh file.sh

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
for i in `seq 1 2 10`
do
        echo $i
done

在這里插入圖片描述

注意:

seq可以設置步長

<1>編寫腳本

[[email protected] linux]# vim countdown.sh

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
[ -z "$1" ] && {
        echo ERROR
        exit
}
clear
for ((SEC=$1;SEC>0;SEC--))
do
        echo -n "After ${SEC}s is end "
        echo -ne "\r"
        sleep 1
done

在這里插入圖片描述

<2>運行腳本,不輸入秒數時會出現報錯,輸入秒數后,會切換到一個新的界面進行倒計時,且在計時完畢后,會手動關閉

[[email protected] linux]# sh countdown.sh
[[email protected] linux]# sh countdown.sh 30

在這里插入圖片描述

運行失敗后發生的結果如下:

在這里插入圖片描述

注意:

1.兩位和一位差一個空格,所以應該在echo -n "After ${SEC}s is end "的“end”后鍵入一個空格,否則當執行兩位秒數時不會報錯,執行一位秒數時會有出錯,顯示的錯誤結果如下:

=====================20

shell 腳本 if 語句_shell腳本while語句_shell腳本while語句

編寫腳本并執行腳本

[[email protected] linux]# vim monitor.sh
[[email protected] linux]# sh monitor.sh

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
SEC=10
MIN=1
clear
for ((;SEC>=0;SEC--))
do
        if
        [ "$SEC" -eq "0" -a "$MIN" -eq "0" ]
        then
                exit 0
        elif
        [ "$SEC" -eq "0" -a "$MIN" -ge "0" ]
        then
                echo -n "After $MIN:$SEC is end "
                echo -ne "\r"
                SEC=59
                ((MIN--))
                sleep 1
        fi
        echo -n "After $MIN:$SEC is end "
        echo -ne "\r"
        sleep 1
done

在這里插入圖片描述

腳本執行后的結果如下:

在這里插入圖片描述

在這里插入圖片描述

<1>編寫一個腳本,利用if語句依次查詢,當鍵入a時輸出apple,當輸入b時,輸出banana,當鍵入其他字節時,輸出error(查看其運行腳本時的過程shell腳本while語句,會看到,其優先排序取決于腳本中所寫的次序)

[[email protected] linux]# vim test.sh
[[email protected] linux]# sh -x test.sh b	##系統在腳本中比較兩次后才可以輸出b所對應的輸出結果
[[email protected] linux]# sh -x test.sh a	##系統在腳本中比較兩次后才可以輸出a所對應的輸出結果
[[email protected] linux]# sh -x test.sh	##系統在腳本中比較兩次后才可以輸出除了特定設置的值以外所對應的輸出結果 

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
if 
[ "$1" = "a" ]
then
        echo apple
elif
[ "$1" = "b" ]
then
        echo banana
else
        echo error
fi

在這里插入圖片描述

<2>編寫一個腳本,利用case子句依次查詢,當鍵入a時輸出apple,當輸入b時,輸出banana,當鍵入其他字節時,輸出error(查看其運行腳本時的過程,會看到,case語句中沒有優先排序)

[[email protected] linux]# vim test1.sh
[[email protected] linux]# sh -x test1.sh a	##系統在腳本中比較一次后可以輸出a所對應的輸出結果
[[email protected] linux]# sh -x test1.sh b	##系統在腳本中比較一次后可以輸出a所對應的輸出結果
[[email protected] linux]# sh -x test1.sh	##系統在腳本中比較一次后可以輸出除了特定設置的值以外所對應的輸出結果

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
case $1 in
        a)
        echo apple
        ;;
        b)
        echo banana
        ;;
        *)
        echo error
esac

在這里插入圖片描述

<1>首先在一個文件中讀取幾個需要連接的ip并進行查看

shell腳本while語句_shell腳本while語句_shell 腳本 if 語句

[[email protected] mnt]# vim ipfile
[[email protected] mnt]# cat ipfile

在這里插入圖片描述

<2>編寫腳本

[[email protected] mnt]# vim check_ip.sh

在這里插入圖片描述

<3>運行shell腳本,會看到不鍵入內容時會出現錯誤信息,輸入要查詢的文件名后,會顯示運行順利的信息

[[email protected] mnt]# sh check_ip.sh 
[[email protected] mnt]# sh check_ip.sh ipfile

在這里插入圖片描述

<4>檢測運行腳本后的結果能否正確(分別連接一個成功連接上的主機和一個沒有成功連接上的主機)

[[email protected] mnt]# ping 172.25.254.1
[[email protected] mnt]# ping 172.25.254.8

在這里插入圖片描述

腳本中的內容如下(第一種):

#!/bin/bash
        [ -z "$1" ]&& {
                echo please input content
                exit
}
Max_Line=`sed -n '$=' $1`
for i in $(seq 1 $Max_Line)
do
        he=`sed -n "${i}p" $1`
        ping -c1 -w1 $he &>/etc/null && echo $he is up || echo $he is down
done

在這里插入圖片描述

腳本中的內容如下(第二種):

#!/bin/bash
        [ -z "$1" ]&& {
                echo please input content
                exit
}
for ip in `cat $1`
do
        ping -w 1 $ip &> /dev/null && echo "$ip is up!"|| echo "$ip is down!"
done

在這里插入圖片描述

編寫一個腳本,使其運用while語句調用輸入的值并輸出,當鍵入exit時退出

[[email protected] linux]# vim test.sh
[[email protected] linux]# sh test.sh

在這里插入圖片描述

腳本中的內容如下(第一種):

#!/bin/bash
while true	##當條件成立時執行
do
        read -p "Please input a word: " WORD
        while [ "$WORD" = "exit" ]
        do
                echo bye
                exit 0
        done
        echo $WORD
done

shell 腳本 if 語句_shell腳本while語句_shell腳本while語句

在這里插入圖片描述

腳本中的內容如下(第二種):

#!/bin/bash
until false 	##直到條件不成立時不執行
do
        read -p "Please input a word: " WORD
        while [ "$WORD" = "exit" ]
        do
                echo bye
                exit 0
        done
        echo $WORD
done

在這里插入圖片描述

<1>編寫一個腳本,當鍵入a時輸出apple,當輸入b時,輸出banana,當鍵入其他數組時,輸出error

[[email protected] linux]# vim test.sh	##編寫腳本
[[email protected] linux]# sh test.sh	##運行腳本
[[email protected] linux]# sh test.sh a
[[email protected] linux]# sh test.sh b

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
if 
[ "$1" = "a" ]
then
        echo apple
elif
[ "$1" = "b" ]
then
        echo banana
else
        echo error
fi

在這里插入圖片描述

<2>編寫一個腳本,當鍵入一個文件時,判斷其文件類型是什么shell腳本while語句,并進行輸出

編寫腳本,并執行,會看到當鍵入文件的名稱后,會輸出文件的類別

[[email protected] linux]# vim filetype.sh
[[email protected] linux]# sh filetype.sh

在這里插入圖片描述

腳本中的內容如下:

#!/bin/bash
while true
do
        read -p "Please input file you want to check: " Input
        [ -e "$Input" ] || {
                echo "$Input id not exist!"
                exit
                }
        if
                [ -d "$Input" ]
        then
                echo "$Input is a directory!"
        elif
                [ -f "$Input" ]
        then
                echo "$Input is a file!"
        elif
                [ -L "$Input" ]
        then
                echo "$Input is a link!"
        elif
                [ -s "$Input" ]
        then
                echo "$Input is a socket!"
        elif
                [ -b "$Input" ]
        then
                echo "$Input is a block!"
        elif
                [ -c "$Input" ]
        then
                echo "$Input is a character!"
        fi
done

本文來自互聯網,由機器人自動采編,文章內容不代表本站觀點,請讀者自行辨別信息真偽,如有發現不適內容,請及時聯系站長處理。

相關閱讀
下载麻将游戏免费 2018炸金花棋牌游戏 360重庆时时彩 牛牛看牌抢庄赢钱技巧 98极速赛车 博彩白菜网送体验金 麻将规则教学 怎样避开计划连挂 易算pk10手机版 重庆时时大小单双计划 大发快三技巧数学公式