Ⅰ shell腳本中`反引號是做什麼用的
用反引號的作用是在反引號裡面的shell命名可以被執行後把輸出返回
Ⅱ shell中對於單引號,雙引號和反引號的處理方式
單引號:所有轉移符全部關閉,完整的反應括弧中的內容
雙引號:部分轉義符關閉,但某些則保留(如:$ )
反引號:反引號內作為一個系統命令並執行
Ⅲ shell中如何把一段指令的結果賦值給變數
用反引號將命令括起來,如變數=`命令`
用美元符和小括弧將命令括起來,如變數=$(命令)
Ⅳ shell中單引號、雙引號、反引號的使用
shell中單引號、雙引號、反引號的使用在編寫shell腳本時,會經常地使用到單引號、雙引號、反引號這些特殊的符號。它們在shell中有著不同的作用,但容易被誤用和引起混亂。簡單總結一下三者的使用和區別。單引號它關閉shell中所有的特殊符號使用和解釋,即單引號間的內容全部以普通字元的含義進行文本使用和解釋,不管是特殊字元
$
,還是轉義字元之類的。例子:1~$
a=12;test='this
is
a
$a
/$
`date`';echo
$test2this
is
a
$a
/$
`date`雙引號它關閉shell中大部分的特殊符號,但是某些保留,比如
$
,轉義字元
/(不包括/n,/t之類),反引號字元,單引號字元在雙引號中時作為普通字元,不具有上面的功能作用。例子:01~$
a=12;test=this
is
a
$a
/b
`date`;echo
$test02this
is
a
12
/b
Thu
Mar
21
15:24:45
HKT
20130304~$
a=12;test='this
is
a
$a
/b
`date`';echo
$test05'this
is
a
12
/b
Thu
Mar
21
15:32:09
HKT
2013'0607~$
a=12;test=this
is
a
$a
/n
`date`;echo
$test08this
is
a
12
/n
Thu
Mar
21
15:40:09
HKT
20130910~$
a=12;test=this
is
a
$a
/$
`date`;echo
$test11this
is
a
12
$
Thu
Mar
21
15:40:38
HKT
2013單引號、雙引號用於把帶有空格的字元串賦值給變數,如果沒有單引號或雙引號,shell會把空格後的字元串解釋為命令,即把空格作為變數賦值的結束。1~$
a=13;test1=this
is
a
$a
/b
`date`;
echo
$test12is:
command
not
found特別注意:在shell腳本中進行變數的賦值時,變數名、等號和變數值之間不能有空格,否則就是上面一樣的錯誤。反引號它的作用是命令替換,將其中的字元串當成shell命令執行,返回命令的執行結果,見上面的例子。反引號包括的字元串必須是能執行的命令,否則會出錯。例子:1~$
a=12;test=`this
is
a
$a
/b
`date``;echo
$test2No
command
'this'
found,
did
you
mean:3Command
'thin'
from
package
'thin'
(universe)4this:
command
not
found5date符號$(
)的作用和反引號的一樣,都是命令替換:1~$
echo
$(date)2Thu
Mar
21
15:54:15
HKT
2013反斜杠反斜杠一般用作轉義字元,如果echo要讓轉義字元發生作用,就要使用-e選項,且包含轉義字元的字元串要使用雙引號1~$
echo
this
is
a
/n
test2this
is
a
/n
test3~$
echo
-e
this
is
a
/n
test4this
is
a5test反斜杠的另一種作用,就是當反斜杠用於一行的最後一個字元時,shell把行尾的反斜杠作為續行,這種結構在分幾行輸入長命令時經常使用。
Ⅳ 關於shell的反引號
是用來對反引號裡面的命令進行單獨執行。一般是將這個執行結果,賦值給另外的變數所用。
Ⅵ linux shell腳本可以使用的引號
單引號('')里的特殊字元全部無效
雙引號("")里大多數特殊字元無效,$ 有效
反引號(``)的作用是執行反引號里的命令,再將命令執行的結果替換到反引號的位置
Ⅶ shell腳本中 的 單引號和反引號經常混淆,請高手幫我區別它們的功能,謝謝
單引號原樣輸出,你可以記為「單調輸出」,如下原樣輸出 eval echo a 這個字元串,很單調吧:
echo 'eval echo a'
反引號執行內容後輸出,可以記為「反譯輸出」,要把引號中的內容反向翻譯一下,如下要執行反綽號中的內容 eval echo a,得到 a,再執行 echo,最終輸出 a:
echo `eval echo a`