簡單shell指令碼語法及結構

2021-06-11 20:45:16 字數 1174 閱讀 1016

shell指令碼語法及結構

shbang行

shbang行是指令碼的第一行,通知核心使用哪種shell去執行指令碼;

#!/bin/csh

注釋注釋油乙個符號#後跟一些描述性的說明,注釋掉的語句將不執行操作;

# this is a comment

萬用字元shell中有些字元的意義比較特殊,它們被稱作是shell元字元或萬用字元。如:

*、?和常用語檔名擴充套件;!是歷史命令符;<、>、>>、<&和|符則用於標準i/o重定向管道。

為了防止這些字元被shell解釋,他們必須用反斜槓或者引號進行引用。

rm *; ls ??; cat file [1-3];!!

echo 「how are you?」

echo oh boy\!

顯示輸出

echo命令使用者向螢幕顯示輸出。

echo 「hello word \!」

區域性變數

區域性變數的作用域被限定在當前的shell中。

set ariable_name = value

set name = 「admin」

全域性變數

全域性變數又稱環境變數。

setenv

variable_name value

setenv

printer

shakespeare

提取變數值

可以使用$從變數中提取數值;

echo $variable_name

echo $name

echo $printer

讀取使用者輸入

特殊變數$《從使用者輸入中讀取一行並將它賦值給乙個變數

echo 「who are you?」

set name = $<

引數可以從命令中傳遞引數給指令碼;得到它們的值有兩種方法:位置引數和argv陣列。

% scriptname arg1 arg2 arg3 ……

使用位置:

echo $1 $2 $3

arg1賦給$1,arg2賦給$2等;

echo $*

所有引數

使用argv陣列:

echo $argv[1] $argv[2] $argv[3] 

echo $argv[*]

所有引數

echo $#argv

引數個數

Shell指令碼語法

定義單變數 p name kang 使用單變數 echo p name js 輸出kang.js echo p name.js 輸出kang.js cp p name.js copy.js 命令1 命令2 如果左邊的 命令1 執行成功,那麼右邊的 命令2 才會被執行。命令1 命令2 與 相反。如果 ...

shell指令碼 語法

條件測試 test 命令test 可以測試乙個條件是否成立,如果測試條件為真,則該命令的exitstatus為0,反之,exitstatus為1。注意 命令 各引數之間應該用空格隔開,以 結尾。但是 不是命令。測試命令 d dir 如果dir存在並且是乙個目錄則為真 f file 如果file存在並...

shell指令碼語法

測試乙個條件是否成立,python ubuntu 1004 var 2 python ubuntu 1004 test var python ubuntu 1004 echo 0python ubuntu 1004 test var gt 5 python ubuntu 1004 echo 1或者 ...