shell基礎知識(高階三)

2021-10-06 03:53:26 字數 2061 閱讀 1618

目錄

if條件語句

for條件迴圈語句(重要)

while條件迴圈語句

case條件測試語句

計畫任務服務程式(重要)

例題:判斷test檔案是否存在,如果不存在請建立此檔案。

#!/bin/bash

if [ ! -e test ]

then

touch test

fi

例題:

#!/bin/bash

read -p "please enter: " host

ping -c 3 -i 0.2 -w 3 $host &> /dev/null

if [ $? -eq 0 ]

then

echo "$host is on-line"

else

echo "$host is off-line"

fi

例題:

請判斷乙個同學的成績處於怎樣的水平(假設成績為a,當85例題:

請批量建立一批使用者user1,user2,user3,並為這些使用者生成密碼。

①首先建立乙個包含使用者名稱的檔案:test1

user1

user2

user3

②建立指令碼

#!/bin/bash

#這是乙個建立使用者的指令碼

read -p "enter: " password

for user in `cat test1`

doid $user &> /dev/null

if [ $? -eq 0 ]

then

echo "$user exist"

else

useradd $user &> /dev/null

echo $password | passwd --stdin $user &> /dev/null

fidone

while迴圈:只要滿足條件就會進入迴圈

例題:請比較乙個隨機數與您輸入數字的大小。

#!/bin/bash

#這是乙個猜數字的指令碼

time=0

number=`expr $random % 1000` #隨機生成乙個1000內的數字

while true

doread -p "enter: " int

let time++

if [ $int -eq $number ]

then

echo "times is $time,you are right!"

exit 0 #結束迴圈

elif [ $int -gt $number ]

then

echo "high!"

else

echo "low!"

fidone

例題:

請判斷乙個變數是數字、字母還是字元。

#!/bin/bash

read -p "enter: " int

case $int in

[a-z]|[a-z])

echo "zimu";;

[0-9])

echo "shuzi";;

*)echo "qita";;

esac

例:建立乙個計畫任務,使伺服器在每月的第二週週三20:00刪除/var/log/message下的檔案。

crontab -e   #呼叫vim編譯器建立計畫任務#
0 20 * * 2 /usr/bin/rm -rf /var/log/message
分 時 日 月 周 命令(命令要寫絕對路徑)

其中沒有的項要用*佔位,關於crontab服務還有幾種特殊表達方法,如下:

注:日和周不要一起用;分一定要有數值。

幾個引數:

Ubuntu基礎知識(三) Shell

簡介文字作業系統與外部最主要的介面就叫做 shell shell 是作業系統最外面的一層。shell 管理你與作業系統之間的互動 等待你輸入,向作業系統解釋你的輸入,並且處理各種各樣的作業系統的輸出結果。shell 提供了你與作業系統之間通訊的方式。這種通訊可以以互動方式 從鍵盤輸入,並且可以立即得...

SHELL 基礎知識

1 什麼是shell?shell的本意是 殼 的意思,其實已經很形象地說明了shell在linux系統中的作用。shell就是圍繞在linux核心之外的乙個 殼 程式,使用者在作業系統上完成的所有任務都是通過shell與linux系 統核心的互動來實現的。shell本身是乙個c語言編寫的程式,是使用...

shell 基礎知識

預設變數 傳入指令碼的命令列引數個數 所有命令列引數值,在各個引數值之間留有空格 0 命令本身 shell檔名 1 第乙個命令列引數 2 第二個命令列引數 區域性變數 在變數首次被賦值時加上local 關鍵字可以宣告乙個區域性變數,例s3 bin bash hello var1 echo hello...