行首以#開頭但後面沒有!的是注釋
#!
用於指定直譯器
使用轉義符\
後#不再表示注釋,而是字元echo the \# here does not begin a comment
引數替換echo $
這裡替換的規則還需要進一步學習
數制轉換:echo $(( 2#101010))
使用;
可以在一行寫上兩個或兩個以上命令
if <>;then<>語句
要加分號
終止case選項;;
case
$var
in [0-9] echo
"<9";;
等價於source命令
在當前bash環境下讀取並執行shell命令
source test.sh
. test.sh //equals
雙引號(「)和單引號(『)都有阻止解釋字串中特殊字元比如#,\等的作用;
但單引號更為強烈,阻止string中所有特殊字元;
雙引號阻止大部分特殊字元
斜線=檔案路徑分隔符
或者除法運算子
反斜線是一種對單字元的引用機制。\x
會轉義字元x,等價於」x」,』x』
\通常用來轉義雙引號和單引號,這樣雙引號和單引號就不會被解釋成特殊含義了。
命令替換
可以將命令的輸出複製到另乙個變數中去
cp `mkdir dir` test.sh dir
先建立back目錄,然後複製test.h到back目錄
1,空命令=nop,也可以認為與shell內建命令true作用一樣
while : //=while
true
doecho
"endless loop"
done
也可以在if/then中作佔位符
if[$condition
-gt0]
then : #do nothing
else
..
變數擴充套件/字串替換
$ : > test.sh
#empty file
#same function as
cat /dev/null > test.sh
shell符號解釋
符號詳解 在子shell中執行 a 1 echo a,結果是空,因為a 1不是在當前shell中執行的 a 1 echo a 也是空的 小技巧 cd path,do something 可以讓不切換當前目錄而在其它目錄幹點別的事兒 還有個功能是陣列的賦值 比如a 1 3 5 那麼 1 3 5,需要注...
Shell中符號意義
井號 comments 一般情況 此符號後面的是註解文字,不會被執行。特殊情況 第一行 bin bash 例外情況 如果被引號,雙引號括住的話,或者在倒斜線的後面,那他就變成一般符號,不具上述的特殊功能。波浪號 代表使用者的home目錄cd 直接在符號後加上某帳戶的名稱 cd user 當成是路徑的...
shell指令碼符號小結
大多數的shell指令碼都是以 bin sh開頭的,是對該shell指令碼的宣告,說明這個shell指令碼的型別及執行路徑。1.在shell指令碼中表示的注釋,但是 卻不是。2.表示的當前賬戶的home目錄。3.表示連續命令,我們在c語言程式設計時就經常用到。4.單引號表示單一字元。5.雙引號表示單...