目錄
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...