shell指令碼基礎

2021-10-12 11:55:20 字數 2153 閱讀 9078

#! bin/bash

echo

"hello world!"

執行

./my.sh  相對路徑

/home/li/my.sh 絕對路徑

sh ./my.sh 沒有執行許可權的執行

echo

"path = $path"

echo "user=

$user

自定義

a=100 定義乙個變數

引用echo

$a銷毀變數

unset a

readonly a = 800 靜態變數,不可以unset
注意:變數定義兩側不能有空格

b=

`ls -l /home`

將命令返回值賦值給b

echo

$bb=

$(ls -l /home)

第二種寫法

echo

$b

export var=/opt/tomcat

source 檔案後 echo

$var 可引用

#獲取100,及200

$n$0表示命令本身 $1-$9表示一到九的引數,十以上的引數使用$

$* 代表命令列中的所有引數,把所有的引數看作整體

$@ 代表所有引數,但是每個引數區別對待

$# 代表闡述個數

$((表示式))

$[表示式]

expr m + n 注意需要空格

expr m - n

expr m % n

expr m \* n 注意*是\*

[ condition ] 注意兩邊有空格,非空為真

if[ con ]

then

echo

""fi

#結束

if

case $變數名 in

"value"

)echo"";

;#結束

"value"

)echo"";

; *)

#都沒有匹配上

echo"";

; esac #結束

for 變數 in 值1 值2 值3

do 邏輯

done

第二種語法格式案例

sum=0

for((i=

1;i<=

100;i++

)) #兩層大括號

do sum=$[

$sum+$i

]done

while

dodone

read 

-p 指定讀取值時的提示符

-t 指定讀取時的等待時間

read -p "請輸入" num #將輸入的值給num

basename /home/li/li.txt #輸出li.txt

basename /home/li/li.txt .txt #輸出li

dirname

dirname /home/li/li.txt #輸出/home/li
function getsum(

)read -p n1

read -p n2

getsum $n1

$n2

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可能支援的...