1、單引號和雙引號的區別
單引號:
[root@localhost ~]
# a=1
[root@localhost ~]
# echo 'abc $a'
abc $a
雙引號:
[root@localhost ~]
# a=1
[root@localhost ~]
# echo "abc $a"
abc
總結:
單引號中無法引用變數,會把變數當做字串。雙引號可以引用變數,且可以把變數的值取出來
2、在bash中可以使用沒有被定義的變數,但什麼都不會發生
[root@localhost ~]
# echo $ddaa
3、變數拼接
[root@localhost ~]
# a="hello"
[root@localhost ~]
# echo $_1
hello_1
4、預定義變數
[root@localhost ~]
# echo $pwd
/root
[root@localhost ~]
# echo $user
root
[root@localhost ~]
# echo $home
/root
[root@localhost ~]
# echo $path
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
1、取出陣列的元素和陣列長度
[root@localhost ~]
# a=(1 2 3 4 5)
[root@localhost ~]
# echo $a
1
echo $a取出陣列中第乙個元素
[root@localhost ~]
# echo $
1 2 3 4 5
[root@localhost ~]
# echo $
1 2 3 4 5
echo $和echo $取出陣列中所有的元素
[root@localhost ~]
# echo $
5[root@localhost ~]
# echo $
5
echo $和echo $計算出陣列的長度
2、反引號
[root@localhost ~]
# a=`ls`
[root@localhost ~]
# echo $a
1.sh 2.sh anaconda-ks.cfg
列印出所有的目錄及檔案
[root@localhost ~]
# a=`pwd`
[root@localhost ~]
# echo $a
/root
列印出當前所在目錄的路徑
3、預定義變數和陣列
[root@localhost ~]
# array=(`ls`)
[root@localhost ~]
# echo $array
1.sh
$array:ls列印出的檔案和目錄的陣列的第乙個賦給array
[root@localhost ~]
# echo $
1.sh 2.sh anaconda-ks.cfg
$:取出ls陣列中的所有元素(目錄和檔案)
[root@localhost ~]
# echo $
1.sh
[root@localhost ~]
# echo $
2.sh
$:取出ls集合中的第乙個元素
$:取出ls集合中的第二個元素
[root@localhost ~]
# echo $
5
$:取出陣列中最後乙個元素 shell 指令碼基礎語法
這句一般在 shell 指令碼的第一行。告訴作業系統,此指令碼的直譯器為 bin sh 這個可執行檔案。類似地,如果你的指令碼用 bash,ksh,解釋,第一行就應該是 bin bash bin ksh 注意 shell 指令碼對空格要求十分嚴格,關鍵字和符號之間必須加空格。1 字串判斷 str1 ...
shell基礎語法2018 03 21
一 shell中的數值運算及運算方式差異 1.expr 數值運算工具 表示式求值 expr 表示式 expr1 3 expr2 1 expr1 3 使用 要加轉義符 echo expr1 3 注意 表示式中,數值和運算子之間要有空格,出現在表示式中要加反引號 其他的表示式形式 表示式 表示式 2.執...
Shell指令碼語法基礎
shell是linux下的乙個命令解析器,把一系列的命令序列寫入文字檔案就構成了shell指令碼 類似於windows中的批處理 bin sh echo something echo hello world echo hello mkdir tnt 符號 用來指定該指令碼檔案的解析程式。在上面例子中...