hello world!
#! bin/bash
echo 「hello world!」12
執行./my.sh 相對路徑
/home/li/my.sh 絕對路徑
sh ./my.sh 沒有執行許可權的執行12
3變數系統變數和使用者自定義變數
系統變數
echo "path = pat
h"ec
ho"u
ser=
path" echo "user=
path"e
cho"
user
=user12
自定義a=100 定義乙個變數
引用echo $a
銷毀變數
unset a12
345readonly a = 800 靜態變數,不可以unset
1注意:變數定義兩側不能有空格
b=ls -l /home
將命令返回值賦值給b
echo bb=
b b=
bb=(ls -l /home) 第二種寫法
echo $b12
34設定環境變數(供其它shell使用)
/etc/profile
export var=/opt/tomcat
source 檔案後 echo $var 可引用12
位置引數變數
./my.sh 100 200
#獲取100,及200
$n $0表示命令本身 $1-9表示
一到九的
引數,十
以上的參
數使
用9表示一到九的引數,十以上的引數使用
9表示一到九
的引數,
十以上的
引數使用
$* 代表命令列中的所有引數,把所有的引數看作整體
$@ 代表所有引數,但是每個引數區別對待
$# 代表闡述個數12
345預定義變數
$$ 當前程序號
$! 後台預先的最後乙個程序號
$? 最後一次執行命令返回的狀態,0表示正確執行
在這裡插入描述
運算子$((表示式))
$[表示式]
expr m + n 注意需要空格
expr m - n
expr m % n
expr m * n 注意*是*12
3456
條件判斷
[ condition ] 注意兩邊有空格,非空為真
if [ con ]
then
echo 「」
fi #結束12
345if
then
echo
elif
then
echofi1
2345
67在這裡插入描述
case分支
case $變數名 in
「value」)
echo 「」
;; #結束
「value」)
echo 「」
;;*) #都沒有匹配上
echo 「」
;;esac #結束12
3456
78910
11迴圈for
for 變數 in 值1 值2 值3
do邏輯
done12
34第二種語法格式案例
sum=0
for ((i=1;i<=100;i++)) #兩層大括號
do sum=[
[[sum+$i]
done12
34迴圈while
while
dodone12
34
shell指令碼基礎
執行shell指令碼有兩種方法 1 作為可執行程式 將上面的 儲存為 test.sh,並 cd 到相應目錄 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼 注意,一定要寫成 test.sh,而不是 test.sh,執行其它二進位制的程式也一樣,直接寫 test.s...
shell指令碼基礎
shell定義 shell是命令解析器,將使用者的輸入的指令轉化為機器可以執行的程式。和c語言不同,指令碼有自己的語法。比較常用的格式是 bin bash或者 bin sh 如 這是乙個判斷輸入字元型別的程式 bin bash read key case in a z echo upperlette...
Shell指令碼基礎
1 shell是使用者與核心進行互動操作的一種介面,目前最流行的shell稱為bash shell 2 shell也是一門程式語言 解釋型的程式語言 即shell指令碼 3 乙個系統可以存在多個shell,可以通過cat etc shells命令檢視系統中安裝的shell,不同的shell可能支援的...