亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長網

17站長網 首頁 腳本 linux shell 查看內容

有關循環語句在bash編程中用法的詳細解析

2022-12-5 09:22| 查看: 2432 |來源: 互聯網

下面給大家介紹的有關循環語句在bash編程中用法的詳細解析,你可能還不知道,下面我門一起來看看,希望對需要的朋友有所幫助!1.if 是單分支語句,使用格式如下 ...

下面給大家介紹的有關循環語句在bash編程中用法的詳細解析,你可能還不知道,下面我門一起來看看,希望對需要的朋友有所幫助!

1.if 是單分支語句,使用格式如下:

if condition ; then
statement
…..
fi
2.if … else 是雙分支語句,使用格式如下:
if condition ; then
statement
….
else
statement
….
fi
3.if …elif…elif…else 是多分支語句,使用格式如下:
if condition ; then
statement
….
elif condition ; then
statement
…..
elif condition ; then
statement
…..
.
.
.
else
statement
….
fi
4.while 語句是循環語句,當條件滿足的情況下才循環,不滿足則退出循環,使用格式如下:
while condition ; do
statement
…..
done
5.until 語句也是循環語句,當條件不滿足的情況下循環,滿足則不循環,使用格式如下:
until condition ; do
statement
…..
done
6.case 也是循環語句,使用格式如下:
case $var(變量) ; in
value1)
……

value2)
…..

*)

..
..
..
esac

腳本練習:

1.計算100以內所有能被3整除的正整數的和。

#!/bin/bash
declare -i sum=0
for I in {1..100}; do
if [ $[$I%3] -eq 0 ]; then
let sum+=$I
fi
done
echo " the sum is :$sum"

2.計算100以內所有奇數的和以及所有偶數的和

#!/bin/bash
# echo "exercise"
declare -i sum1=0
declare -i sum2=0
for I in {1..100}; do
if [ $[$I%2] -eq 0 ]; then
let sum1+=$I
else
let sum2+=$I
fi
done
echo " the even sum is :$sum1"
echo " the oddnumber sum is :$sum2"

3.判斷/var/log下的文件的類型:
如果是普通文件,則說明其為普通文件;
如果是目錄文件,則說明其為目錄文件;
如果是符號鏈接文件,則說明其為符號鏈接文件;
否則,說明文件類型無法識別;

#!/bin/bash
file1=/var/log/*
for file in $file1 ; do
if [ -f $file ]; then
echo "$file is common file"
elif [ -d $file ]; then
echo "$file is directory file"
else
echo "$file is unknow"
fi
done

4.寫一個腳本,分別顯示當前系統上所有默認shell為bash的用戶和默認shell為
/sbin/nologin的用戶
并統計各類shell下的用戶總數,顯示結果形如:bash,3user,they
are:root,redhat,gentoo nologn,2user,they are:bin,ftp

#!/bin/bash
file=/etc/passwd
bsh='/bin/bash'
nobsh='/sbin/nologin'
use=`cat $file | cut -d: -f1`
declare -i d1=0
declare -i d2=0
for I in $use ; do
s=`grep "^$I:" $file | cut -d: -f7`
if [ "$s" = $bsh ] ; then
let d1=$d1+1
muser=$I\,$muser
elif [ "$s" = $nobsh ] ; then
let d2=$d2+1
suser=$I\,$suser
fi
done
echo "BASH,$d1 users ,they are:"
echo $muser
echo
echo "NOLOGIN,$d2 users ,they are:"
echo $suser

5.寫一個腳本:
(1)如果不存在,就創建文件/tmp/maintenance;如果存在,就事先刪除
(2)在文件/tmp/maintenance中添加如下內容:
172.16.0.6
172.16.0.17
172.16.0.20
(3)測試172.16.0.0/16網絡內的所有主機是否在線,如果在線就顯示其在線,如果此主機
在/tmp/maintenance文件中,就顯示其正處于維護狀態;否則,就顯示其狀態未知;

#!/bin/bash
file=/tmp/maintenace
if [ -e $file ]; then
rm -rf $file &> /dev/null
fi
touch $file
cat >> $file << EOF
172.16.0.6
172.16.0.17
172.16.0.20
EOF
bnet=172.16
for net in {0..254} ; do
for host in {1..254} ; do
if ping -c1 -W1 $bnet.$net.$host &> /dev/null ; then
echo "$bnet.$net.$host is up."
elif grep "$bnet.$net.$host$" $file &> /dev/null ;then
echo "$bnet.$net.$host is under maintenance."
else
echo "$bnet.$net.$host state is unknow."
fi
done
done

6寫一個腳本,完成以下功能:
(1)、提示用戶輸入一個用戶名;
(2)、顯示一個菜單給用戶,形如:
U|u show UID
G|g show GID
S|s show SHELL
Q|q quit
(3)、提醒用戶選擇一個選項,并顯示其所選擇的內容;如果用戶給的是一個非上述所提示的選項,則提醒用戶給出的選項錯誤,并請其重新選擇后執行;
第一種方法:

#!/bin/bash
read -p "Enter a user name:" username
! id $username &> /dev/null && echo " Come on ,the user you input unexit" && exit 9
cat << EOF
U|u show UID
G|g show GID
S|s show SHELL
Q|q quit
EOF
read -p "Enter your choice:" op
case $op in
U|u)
id -u $username;;
G|g)
id -g $username;;
S|s)
grep "^$username\>" /etc/passwd | cut -d: -f7;;
Q|q)
exit 8 ;;
*)
echo "input option wrong ,quit"
exit 9

esac

第二種方法:

#!/bin/bash
read -p "Enter a user name:" username
! id $username &> /dev/null && echo "Come on ,you input user notexit" && exit 9
cat << EOF
U|u show UID
G|g show GID
S|s show SHELL
Q|q quit
EOF
read -p "Enter your option:" op
while true; do
case $op in
U|u)
id -u $username
break

G|g)
id -g $username
break

S|s)
grep "^$username\>" /etc/passwd | cut -d: -f7
break

Q|q)
exit 7 ;;
*)
read -p "Wrong option,Enter a right option:" op ;;
esac
done

7寫一個腳本:
(1)、判斷一個指定的腳本是否是語法錯誤;如果有錯誤,則提醒用戶鍵入Q或者q無視錯誤并退出,其它任何鍵可以通過vim打開這個指定的腳本;
(2)、如果用戶通過vim打開編輯后保存退出時仍然有錯誤,則重復第1步中的內容;否則,就正常關閉退出。
第一種方法

#!/bin/bash
[ ! -f $1 ] && echo "wrong path." && exit 2
until bash -n $1 &> /dev/null ; do
read -p " Q|q to quit .others to edit:" opt
case $opt in
Q|q)
echo "quit..."
exit 3

*)
vim $1

esac
done

第二種方法:

#!/bin/bash
[ ! -f $1 ] && echo "wrong path." && echo "Quit!" && exit 9
until bash -n $1 &> /dev/null ; do
read -p " Grammar wrong please enter Q|q to quit .others to edit:" opt
case $opt in
Q|q)
echo "quit..."
exit 3

*)
vim $1
bash -n $1 &> /dev/null
val=$?
[ "$val" -ne 0 ] && echo "xiu gai bu cheng gong. "

esac
done

第三種方法

#!/bin/bash
[ ! -f $1 ] && echo "Wrong scripts." && exit 4
bash -n $1 &> /dev/null
valu=$?
until [ $valu -eq 0 ] ; do
read -p "Q|q to quit ,others to edit:" op
case $op in
Q|q)
echo "Quit."
exit 9

*)
vim $1
bash -n $1 &> /dev/null
valu=$?

esac
done

8 寫一個腳本:
查看redhat用戶是否登錄了系統,如果登錄了,就通知當前腳本執行者“redhat
is logged on.”;否則,就睡眠5秒鐘后再次進行測試;直到其登錄為止退出;
第一種方法

#!/bin/bash
who | grep "^redhat\>" &> /dev/null
reval=$?
until [ $reval -eq 0 ] ;do
sleep 5
who | grep "^redhat\>" &> /dev/null
reval=$?
done
echo "redhat is logged on."

第二種方法:

#!/bin/bash
until who | grep "^redhat\>" &> /dev/null ; do
sleep 5
done
echo "redhat is logged on"

9寫一個腳本:
(1)、向系統中添加20個用戶,名字為linuxer1-linuxer20,密碼分別為其用戶名,要使用while循環;
(2)、要求:在添加每個用戶之前事先判斷用戶是否存在,如果已經存在,則不再添加此用戶;
(3)、添加完成后,顯示linuxer1-linuxer20每個用戶名及對應的UID號碼和GID號碼,形如 stu1, UID: 1000, GID: 1000

#!/bin/bash
declare -i I=1
while [ $I -le 20 ] ; do
l=linuxer$I
let I++
! id $l &> /dev/null && useradd $l &> /dev/null && echo "the user:$l" | passwd --stdin $l &> /dev/null && echo "a dd user $l successfully" || echo " The user $l is exit. "
d=`id -u $l`
g=`id -g $l`
echo " $l ,UID:$d,GID:$g "
done

以上有關循環語句在bash編程中用法的詳細解析就是小編為大家收集整理的全部內容了,希望對大家有所幫助。如果您喜歡這篇文章,可以收藏或分享給您的小伙伴們吧!歡迎持續關注我們的后續更新。

本文最后更新于 2022-12-5 09:22,某些文章具有時效性,若有錯誤或已失效,請在網站留言或聯系站長:17tui@17tui.com
·END·
站長網微信號:w17tui,關注站長、創業、關注互聯網人 - 互聯網創業者營銷服務中心

免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!

17站長網微信二維碼

始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!

掃一掃,關注站長網微信

大家都在看

    熱門排行

      最近更新

        返回頂部
        亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际
        91精品国产入口| 日本一区二区高清| 精品少妇一区二区三区在线视频| 久久夜色精品国产欧美乱极品| 欧美高清在线一区二区| 亚洲国产精品久久艾草纯爱| 麻豆精品视频在线观看视频| 色婷婷综合中文久久一本| 日韩免费高清电影| 亚洲超碰97人人做人人爱| jlzzjlzz国产精品久久| 久久久.com| 久久99精品久久久久久久久久久久| 色综合av在线| 亚洲视频免费在线| www.欧美亚洲| 国产精品视频九色porn| 国产乱码精品一区二区三区av | 亚洲欧美日韩成人高清在线一区| 久久99热99| 欧美成人综合网站| 免费视频一区二区| 91精品欧美久久久久久动漫 | 91精品国产91久久综合桃花 | 粗大黑人巨茎大战欧美成人| 日韩一区二区免费视频| 图片区日韩欧美亚洲| 欧美日韩视频第一区| 亚洲一级二级在线| 在线观看免费视频综合| 夜夜嗨av一区二区三区四季av| 99精品久久只有精品| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 成人精品视频一区二区三区尤物| 国产丝袜在线精品| 成人毛片老司机大片| 亚洲乱码国产乱码精品精小说 | 亚洲欧洲国产日韩| av在线不卡网| 亚洲综合视频在线| 日韩欧美一区在线| 丰满少妇久久久久久久| 亚洲视频图片小说| 8v天堂国产在线一区二区| 另类欧美日韩国产在线| 久久免费电影网| 99久久精品情趣| 亚洲mv大片欧洲mv大片精品| 日韩视频免费直播| 懂色av一区二区三区免费看| 中文在线一区二区| 欧美视频精品在线观看| 国产精品久线在线观看| 欧美性视频一区二区三区| 麻豆精品在线观看| 成人免费在线视频观看| 337p亚洲精品色噜噜狠狠| 国产ts人妖一区二区| 亚洲国产日韩在线一区模特| 久久免费偷拍视频| 欧美丰满一区二区免费视频| 国产精品99久久久久久有的能看| 亚洲乱码日产精品bd| 久久久久国产精品免费免费搜索| 色狠狠av一区二区三区| 精品一区二区免费在线观看| 亚洲美女区一区| 久久女同性恋中文字幕| 欧美日韩国产片| 91在线免费播放| 精品一区二区三区影院在线午夜| 亚洲综合999| 亚洲欧洲日产国产综合网| 久久―日本道色综合久久| 欧美欧美午夜aⅴ在线观看| 国产激情一区二区三区桃花岛亚洲| 一区二区三区在线观看视频| 国产精品私人自拍| 国产欧美一区二区三区在线看蜜臀| 欧美日韩一区小说| 色婷婷激情一区二区三区| 国产大陆亚洲精品国产| 久久99精品久久久久久久久久久久 | www亚洲一区| 欧美xxxxx裸体时装秀| 正在播放一区二区| 91.xcao| 欧美一区欧美二区| 欧美日韩高清一区二区不卡| 欧美午夜影院一区| 欧美综合在线视频| 欧美这里有精品| 欧美日韩一级黄| 欧美精品第1页| 欧美电视剧在线观看完整版| 日韩欧美国产一区二区三区| 日韩西西人体444www| 日韩精品一区二区三区四区| 日韩久久久久久| 国产亚洲视频系列| 日本一区二区三区国色天香| 日本一二三不卡| 亚洲女同ⅹxx女同tv| 亚洲国产精品一区二区久久| 午夜成人免费视频| 久久精品噜噜噜成人av农村| 国产麻豆一精品一av一免费| 丁香天五香天堂综合| 91在线观看成人| 欧美日韩国产美| 久久综合九色综合97婷婷| 中文字幕巨乱亚洲| 一区二区高清免费观看影视大全| 午夜影院在线观看欧美| 精品一区二区三区免费| 99久久综合国产精品| 欧美日韩一级视频| 国产色爱av资源综合区| 亚洲激情一二三区| 久久精品国产精品亚洲红杏| 成人午夜在线播放| 欧美精品一二三四| 中文一区二区在线观看| 亚洲成av人**亚洲成av**| 国产99久久久精品| 欧美精品久久一区| 国产精品拍天天在线| 视频一区欧美精品| av成人动漫在线观看| 日韩美女在线视频| 亚洲一区二区五区| 国产成人8x视频一区二区 | 亚洲第一成年网| 国产成人综合在线播放| 日韩一区国产二区欧美三区| 亚洲色图另类专区| 国产电影精品久久禁18| 在线综合视频播放| 一区二区理论电影在线观看| 国产成人在线视频网址| 91精品国产aⅴ一区二区| 一区二区成人在线| 99久久精品免费看| 中文字幕精品在线不卡| 紧缚捆绑精品一区二区| 欧美精品免费视频| 综合中文字幕亚洲| 成人短视频下载| 国产欧美一区二区精品婷婷 | 丁香啪啪综合成人亚洲小说 | 欧美日韩精品一区二区天天拍小说 | 午夜欧美视频在线观看| 色婷婷激情一区二区三区| 亚洲欧洲日产国码二区| 99r国产精品| 亚洲欧美日韩系列| 色综合中文字幕国产 | 欧美性大战久久久久久久| 亚洲另类中文字| 91原创在线视频| 亚洲黄色片在线观看| 91高清视频在线| 亚洲自拍欧美精品| 欧美日韩aaa| 七七婷婷婷婷精品国产| 欧美成人精品高清在线播放| 久久69国产一区二区蜜臀 | 亚洲天堂a在线| 欧美视频中文一区二区三区在线观看| 一区二区三区中文字幕| 在线观看视频一区二区| 日韩av中文字幕一区二区| 日韩午夜三级在线| 成人亚洲精品久久久久软件| 亚洲视频一区二区在线观看| 欧美亚洲综合一区| 毛片av一区二区三区| 国产三级精品视频| 色婷婷av一区二区三区gif| 午夜伦欧美伦电影理论片| 日韩欧美一级二级三级| 成人性视频免费网站| 亚洲一区二区高清| 精品日韩av一区二区| 成人av午夜电影| 亚洲一区视频在线观看视频| 日韩一区二区视频| 成人午夜视频福利| 偷拍一区二区三区四区| 久久久久高清精品| 欧美亚洲综合另类| 国产麻豆精品在线| 亚洲韩国精品一区| 久久精品夜色噜噜亚洲a∨| 在线亚洲+欧美+日本专区| 国产一区在线看| 视频一区视频二区在线观看| 亚洲色图欧美激情| 国产欧美日韩在线视频| 日韩一区二区三区免费看|