shell語法基礎(一)

2021-10-23 02:41:11 字數 2336 閱讀 4197

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 符號 用來指定該指令碼檔案的解析程式。在上面例子中...