shell程式設計及語法

2021-10-09 08:49:45 字數 1485 閱讀 5077

#!/bin/sh

echo

"hello world!"

執行方式如下:

1  ./a.sh   #要求有執行許可權

2 . a.sh #後面3個不要求許可權

3 sh a.sh

4 source a.sh

shell指令碼的第一行也可以改為#!/bin/bash,區別在於如果指令碼執行出錯了bash還會繼續執行,而sh則停止

輸入type cmd可以檢視相關命令的屬性,知道哪些是內建命令,哪些是應用程式。應用程式執行時候,會先建立程序的,然後執行此軟體

1.解引用的時候單引號中的字串保持不變

2.雙引號中的字串會被解析

3.`cmd`

引用命令,等價於$(cmd)

4.定義變數 var=abc(等號左右不能有空格),abc可以單引號或者雙引號括起來,如果字串有空格必須括起來

5.*匹配任意多個字元 ?匹配任意乙個字元 :表示空命令,返回值為0 ;分割一行中多條語句

6.$var或者$引用變數的值

7.$((2+

5))數學表示式運算

8.可接\續行符

9.3#120 #表示3進製的120

10.預設為全域性變數,區域性變數需要local修飾

11.echo $?檢視上乙個命令的返回值,只能用1次

12 $0

$1...$n表示傳遞的位置引數,$0表示命令本身

13.$#表示引數個數 $* $@表示全部引數,乙個把全部引數當作整體按行顯示,乙個是按列顯示

14 返回 0 為真,返回非 0 為假 true返回0,可用:代替

15.exit 0#顯示指定返回值,放在最後一行

16.定義函式的兩種方法

function function_name

function_name (

)17.test condition 或者 [ condition ]

#檢查條件是否成立

18.條件分支

if 條件 1; then

**塊 1

elif 條件 2;

then

**塊 2

…elif 條件 n;

then

**塊 n

else

**塊 n+1

fi19 迴圈

for arg in

[list]

do命令

done

while

[條件]

do命令

done

break 或者 continue 都可以帶乙個數字指示跳出幾重迴圈,預設為 1

20 case

case

" $var"

in" $cond1")命令

;;" $cond2")命令

;;esac

shell程式設計語法

執行shell命令,需要在前面加echo shell中變數 home 當前使用者主目錄 pwd 當前執行命令的目錄 user 當前使用者 set 顯示當前shell所有變數 export 變數名 可把變數提公升為全域性環境變數 定義變數 str hello world a 9a ls la反引號,執...

shell 程式設計2(語法)

if判斷結構 if expression then command fi if else判斷結構 if expression then command else command fi 巢狀if if expression1 then command1 elif expression2 then co...

SHELL程式設計語法彙總

注意!等號左右不能有空格 a 12 變數的定義,弱型別,可以用不同角度理解變數的型別可以是整型12,浮點型12,字串12 a helloworlda pwd a 字串拼接,zsh a 區域性變數 local a 12 位置變數 0 獲取當前正在執行的shell指令碼的檔名,包括路徑。類似c語言mai...