shell中引號的使用方法

2021-04-30 06:19:53 字數 1738 閱讀 2744

shell中引號的使用方法

shell使用引號(單引號/雙引號)和反斜線("/")用於向shell直譯器遮蔽一些特殊字元.

反引號(")對shell則有特殊意義.

如:abc="how are you" (bash/pdksh)

set abc = "how are you" (tcsh)

這個命令列把三個單詞組成的字串how are you作為乙個整體賦值給變數abc.

abc1='@logname,how are you!' (bash/pdksh)

set abc1='$logname,how are you!' (tcsh)

abc2="$logname,how are you!" (bash/pdksh)

set abc2="$logname,how are you!" (tcsh)

logname變數是儲存當前使用者名稱的shell變數,假設他的當前值是:wang.執行完兩條命令後,

abc1的內容是:$logname, how are you!.而abc2的內容是;wang, how are you!.

象單引號一樣,反斜線也能遮蔽所有特殊字元.但是他一次只能遮蔽乙個字元.而不能遮蔽

一組字元.

反引號的功能不同於以上的三種符號.他不具有遮蔽特殊字元的功能.但是可以通過他將

乙個命令的執行結果傳遞給另外乙個命令.

如:contents=`ls` (bash/pdksh)

set contents = `ls` (tcsh)

在shell中引號分為三種:單引號,雙引號和反引號。

(1)單引號 『

由單引號括起來的字元都作為普通字元出現。特殊字元用單引號括起來以後,也會失去原有意義,而只作為普通字元解釋。例如:

[liu@mail shell]$ st='$path'

[liu@mail shell]$ echo $st

$path

可見$保持了其本身的含義,作為普通字元出現。

(2)雙引號 「

由雙引號括起來的字元,除$、/、』、和」這幾個字元仍是特殊字元並保留其特殊功能外,其餘字元仍作為普通字元對待。對於$來說,就是用其後指定的變數的 值來代替這個變數和$;對於/而言,是轉義字元,它告訴shell不要對其後面的那個字元進行特殊處理,只當作普通字元即可。可以想見,在雙引號中需要在 前面加上的只有四個字元$,/,』和」本身。而對」號,若其前面沒有加/,則shell會將它同前乙個」號匹配。

[liu@mail shell]$ st="$path"

[liu@mail shell]$ echo $st

/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/x11r6/bin:/root/bin

(3)反引號 `

反引號(`)這個字元所對應的鍵一般位於鍵盤的左上角,不要將其同單引號(』)混淆。反引號括起來的字串被shell解釋為命令列,在執行時,shell首先執行該命令列,並以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。例如:

[liu@mail shell]$ ls

test1.sh test2.sh

[liu@mail shell]$ st="there are follow files in this folder: `ls`"

[liu@mail shell]$ echo $st

there are follow files in this folder: test1.sh test2.sh

shell中的陣列使用方法

arr 123 34 3 5 echo arr 預設獲取第乙個元素 123 echo 通過下標訪問 34 echo 訪問整個陣列 或者 獲取整個陣列 123 34 3 5 echo 獲取陣列的長度 最大下標 獲取長度 陣列中是最後乙個下標 3 echo 獲取字串長度 1 echo 切片方式獲取一部分...

shell中函式的使用方法

shell可以定義自己的函式,格式 function function name 舉個例子 fun echo function is start funecho function is end 執行的結果 function is start hello world function isend如果新...

shell中單引號 雙引號 反引號的使用

在編寫shell指令碼時,會經常地使用到單引號 雙引號 反引號這些特殊的符號。它們在shell中有著不同的作用,但容易被誤用和引起混亂。簡單總結一下三者的使用和區別。它關閉shell中所有的特殊符號使用和解釋,即單引號間的內容全部以普通字元的含義進行文字使用和解釋,不管是特殊字元 還是轉義字元之類的...