學(xué)習(xí)筆記-5.3shell編程2-創(chuàng)新互聯(lián)

5.3 shell編程2

創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元蘇尼特左做網(wǎng)站,已為上家服務(wù),為蘇尼特左各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

條件判斷:

  如果用戶不存在

    添加用戶,給密碼并顯示添加成功

  否則

    顯示如果已經(jīng)存在,沒(méi)有添加

bash中如何實(shí)現(xiàn)條件判斷?

條件測(cè)試類型:

  整數(shù)測(cè)試

  字符測(cè)試

  文件測(cè)試

條件測(cè)試的表達(dá)式:

  [ expressopm ] 前后一定有空格

  ` expressopm `

  test expression

整數(shù)比較:

  -eq:測(cè)試兩個(gè)整數(shù)是否相等;相等為真0比如 $A -eq $B

  -ne:測(cè)試兩個(gè)整數(shù)是否不等;不等,為真0,相等,假

  -gt:測(cè)試一個(gè)數(shù)是否大于另一個(gè)數(shù):大于,為真

  -lt:測(cè)試一個(gè)數(shù)是否小于另一個(gè)數(shù)

  -ge:大于或等于

  -le:小于或等于

命令間的邏輯關(guān)系:

  邏輯與: &&

    第一個(gè)條件為假時(shí),第二條件不用再判斷,最終結(jié)果已經(jīng)有:

    第一個(gè)條件為真時(shí),第二條件必須得判斷

  邏輯或: ||

id user1 &> /dev/null && echo "Hello,student."

如果用戶user6不存在,就添加用戶user6

! id user6 && useradd user6

id user6 || useradd user6

變量名稱:只能包含字母、數(shù)字和下劃線,并且不能以數(shù)字開頭,不應(yīng)該跟

     系統(tǒng)中已有的環(huán)境變量重名

     最好做到見(jiàn)名知義

nano second.sh

#!/bin/bash

LINES = 'wc -l /etc/inittab'

#echo $LINES

FINLINES = 'echo $LINES | cut -d ' ' -f1'

#echo $FINLINES

[ $FINLINES -gt 100 ] && echo "/etc/inittab is a big file."

 ||  echo "/etc/inittab is a small file."

如果用戶存在,就顯示用戶已存在;否則,就添加此用戶:

 id user1 && echo "user1 exists." || useradd user1

如果用戶不存在,就添加:否則,顯示其已經(jīng)存在

! id user1 && useradd user1 ||  echo "user1 exists."

如果用戶不存在,添加并且給密碼,否則,顯示其已經(jīng)存在

! id user1 && useradd user1 && echo "user1" | passwd --stdin user1 ||

 echo "user1 exists."

練習(xí),寫一個(gè)腳本,完成以下要求:

1 添加3個(gè)用戶user1,user2,user3;但要先判斷用戶是否存在,

 不存在而后再添加

2 添加完成后,顯示一共添加了幾個(gè)用戶:當(dāng)然,不能包括因?yàn)槭孪?/p>

 存在而沒(méi)有添加的

3 最后顯示當(dāng)前系統(tǒng)上共有多少個(gè)用戶

 nano adduser.sh

#!/bin/bash

! id user1 &> /dev/null && useradd user1 && echo "user1" | passwd

 --stdin user1 &> /dev/null || echo "user1 exists."

! id user2 &> /dev/null && useradd user2 && echo "user2" | passwd

 --stdin user2 &> /dev/null || echo "user2 exists."

! id user3 &> /dev/null && useradd user3 && echo "user3" | passwd

 --stdin user3 &> /dev/null || echo "user3 exists."

USERS = 'wc -l /etc/passwd | cut -d: -f1'

echo "$USERS users."

如果 UID為0:那么

  顯示為管理員

否則

  顯示為普通用戶

NAME = user16

USERID = `id -u $NAME` (~下的反引號(hào)) 命令引用表示命令的執(zhí)行結(jié)果

if[ $USERID -eq 0 ];then

 echo "Admin"

else

 echo "common user."

fi

反引號(hào)引用表示命令的執(zhí)行結(jié)果

沒(méi)有反引號(hào)表示命令的執(zhí)行狀態(tài)(是否成功)

if id $NAME;then

練習(xí) 寫一個(gè)腳本,完成以下要求:

給定一個(gè)用戶:

 1 如果其UID為0,就顯示此為管理員

 2 否則,就顯示其為普通用戶

nano third.sh

#!/bin/bash

#

NAME = user1

USERID =`id -u $NAME`

[ $USERID -eq 0 ] && echo "Admin" || echo "Common user."

條件判斷,控制結(jié)構(gòu):

單分支if語(yǔ)句

if 判斷條件;then (then寫下一行,分號(hào)可以省略)

  statement1

  statement2

  ...

fi

雙分支的if語(yǔ)句:

if 判斷條件;then

  statement1

  statement2

  ...

else

  statement3

  statement4

  ...

fi

nano tt.sh

#!/bin/bash

#

NAME = user1

if id $NAME &> /dev/null;then

  echo "$NAME EXISTS."

else

  useradd $NAME

  echo $NAME | passwd --stdin  $NAME &> /dev/null

  echo "Add $NAME finished."

fi

練習(xí):寫一個(gè)腳本,完成以下任務(wù)

1 使用一個(gè)變量保存一個(gè)用戶名

2 刪除此變量中的用戶,且一并刪除其家目錄

3 顯示“用戶刪除完成”類的信息

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

文章名稱:學(xué)習(xí)筆記-5.3shell編程2-創(chuàng)新互聯(lián)
分享網(wǎng)址:http://bm7419.com/article42/hshhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、App設(shè)計(jì)、網(wǎng)站策劃軟件開發(fā)、企業(yè)建站、網(wǎng)站內(nèi)鏈

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司