1. Linux 腳本編寫基礎
程式必須以下面的行開始(必須放在檔案的第一行):
#!/b#對變量指派:
對變量的指派
a="hello world"
# 輸出變量a的内容:
echo $a
num=2
echo "this is the $numpp"
僅僅列印"this is the "
echo "this is the ${num}nd"
這将列印: this is the 2ndpp
1、常用指令
read指令
作用: 接收鍵盤輸入
格式:read 選項 變量名
選項
-p 輸出提示資訊
-t 指定等待時間(秒),預設會一直等待使用者輸入
-n 指定接收的字元數
-s 隐藏輸入的資料
read -p "please input your name" -t 10 name 将使用者輸入的值賦予name
echo指令
echo 字元串 輸出字元串或變量的值,預設輸出後會換行,且不會識别特殊字元
echo -n 字元串 輸出字元串或變量的值,不換行
echo -e 字元串 輸出字元串或變量的值,在遇到 特殊字元時需轉換,比如\n代表換行
符号
' ' 單引号 在單引号中所有特殊符号均無特殊含義
" " 雙引号 在雙引号中,除“$”“\”外其他特殊符号都無特殊含義
$( ) 括号中使用系統指令
$ 調用變量的值
\ 反斜杠 轉義符,轉義符的特殊字元無特殊含義
$# 代表指令行中參數的個數
$* 代表指令行中所有參數,把所有參數看成一個整體
$@ 代表指令行中所有參數,把每個參數差別對待
$? 代表最後一次執行的指令的傳回狀态,傳回變量值為0代表執行成功,否則不成功
條件判斷
使用[ ]可以對條件進行測試,使用[[ ]]可以對多個條件進行判斷
1.按檔案類型判斷
-e 判斷檔案是否存在
-d 判斷檔案是否存在,并且是否為目錄
-f 判斷檔案是否存在,并且是否為普通檔案
[-e /root/install.log]&&echo “yes”|| echo "no" 如果存在檔案則輸出yes,否則輸出
2整數比較
整數1 -eq 整數2 判斷是否相等
-ne 判斷是否不等
-gt 判斷整數1是否大于整數2
-lt 判斷整數1是否小于整數2
-ge 判斷整數1是否大于等于整數2
-le 判斷整數1是否小于等于整數2
3字元串比較
-z 判斷字元串是否為空
-n 判斷字元串是否不為空
字元串1 == 字元串2 判斷字元串是否相等
字元串1 != 字元串2 判斷字元串是否不等
a="" [-z "$a"]&&echo "yes"||echo "no" b=1 c=2 [-z "$b"=="$c"]&&echo "yes"||echo "no"
if語句
if [ 條件判斷式 ];
then
程式
fi
判斷目前使用者是否為root
for語句
for 變量 in 值1 值2 值3.....
do 程式
done
#!/bin/bash#
s=0;
for((i=1;i<=100;i=i+1)) 從1加到100
do
s=$(($s+$i))
echo "the sum is:$s"
while 語句
while [ 條件判斷式 ]
do
程式
#!/bin/bash #從1加到100
i=1
s=0
while [ $i -le 100 ]
do s=$(($s+$i))
i=$(($i+1))
<a href="https://s4.51cto.com/wyfs02/M01/99/AD/wKioL1lLMhuTvbIbAAKCWAYhFw8656.png" target="_blank"></a>
<a href="https://s5.51cto.com/wyfs02/M02/99/AD/wKiom1lLMhyj0bY3AAISw8QKNyo338.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M02/99/AD/wKioL1lLMh3BYeVNAAH_WxD0_sE562.png" target="_blank"></a>
<a href="https://s1.51cto.com/wyfs02/M01/99/AD/wKiom1lLMh7SjiTdAAJ96F_aNrM846.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M00/99/AD/wKiom1lLMh-xgA79AAJW9vGH1Ow990.png" target="_blank"></a>
<a href="https://s4.51cto.com/wyfs02/M01/99/AD/wKiom1lLMiCzL-WUAAJW4WGbU4k463.png" target="_blank"></a>
本文轉自鐵騎傳說51CTO部落格,原文連結:http://blog.51cto.com/ybzbfs/1940842 ,如需轉載請自行聯系原作者