Linux裡單引號和雙引號的區別

2021-08-21 00:04:48 字數 3461 閱讀 5453

1樓:匿名使用者

shell指令碼中的單引號和雙引號一樣都是字串的界定符,而不是字元的界定符。單引號用於保持引號內所有字元的字面值,即使引號內的\和回車也不例外,但是字串中不能出現單引號。(注意是所有,只是單引號本身不能夠出現在其中)。

雙引號用於保持引號內所有字元的字面值(回車也不例外),但以下情況除外:

$加變數名可以取變數的值

反引號仍表示命令替換

\$表示$的字面值

\`表示`的字面值

\"表示"的字面值

\\表示\的字面值

除以上情況之外,在其它字元前面的\無特殊含義,只表示字面值。

從上就可以看出單引號和雙引號的區別。下面舉幾個例子:

可見,單引號中完全是保持字串的原型輸出,而雙引號進行了命令替換。

由上可見雖然單引號和雙引號都是字串的限定符,但還是有所區別。

2樓:monster方

單引號中是原始字串

雙引號可以對特殊字元進行擴充套件,如

a=bcdef

echo "$a" #雙引號將進行變數擴充套件 ,輸出bcdefecho '$a' #單引號直接輸出$a

3樓:匿名使用者

主要是為了字元正常擴充套件。

雙引號可以將shell變數 的字元正常擴充套件。

var=123;

echo "var value is $var"

echo 'var value is $var' //這樣不會顯示var值。

linux 中的單引號 和雙引號有什麼區別嗎?

4樓:匿名使用者

單引號與雙引號的最大不同在於雙引號仍然可以保有變數的內容,但單引號內僅能是

一般字元 ,而不會有特殊符號。我們以底下的例子做說明:假設您定義了一個變數,

name=vbird ,現在想以 name 這個變數的內容定義出 myname 顯示 vbird its me 這

個內容,要如何訂定呢?

[root@linux ~]# name=vbird

[root@linux ~]# echo $name

vbird

[root@linux ~]# myname="$name its me"

[root@linux ~]# echo $myname

vbird its me

[root@linux ~]# myname='$name its me'

[root@linux ~]# echo $myname

$name its me

發現了嗎?沒錯!使用了單引號的時候,那麼 $name 將失去原有的變數內容, 僅為

一般字元的顯示型態而已!這裡必需要特別小心在意!

本文出自 51cto.com技術部落格

5樓:匿名使用者

當然有區別了

在cu上面有專門的帖子解釋單引號和雙引號的差別

舉個最簡單的例子

lix@lxlaptop:~/bash/lx/done/pms$ a=127711

lix@lxlaptop:~/bash/lx/done/pms$ cat date.log |grep "$a"

mon jun 21 17:00:02 cst 2010 1277110506 1277110802 296

mon jun 21 17:15:03 cst 2010 1277111651 1277111703 52

mon jun 21 17:30:02 cst 2010 1277112247 1277112602 355

lix@lxlaptop:~/bash/lx/done/pms$ cat date.log |grep '$a'

lix@lxlaptop:~/bash/lx/done/pms$

6樓:匿名使用者

說到引號的區別,先要說為什麼要用引號,shell命令中有些特殊字元,比如$,^,*等等,如果我們想要把這些特殊字元的功能關掉的話就必須使用引號或者斜槓\,比如 ls "a*",或者ls 'a*',或者ls a\*這就會輸出名字為a*的檔案,而不是以a開頭的檔案。

不說斜槓,只說單引號和雙引號的區別,它們在shell中的引文的叫法不一樣,雙引號叫soft quote,單引號叫hard quote,顧名思義,單引號更加嚴格,比如overawe的例子,對於$符號,單引號一樣會關掉它的功能,而雙引號不會,它會把它當成變數來替換掉,有興趣的話你可以比較單引號套雙引號的變數和雙套單的變數輸出的區別,a=1;echo "'$a'" ;echo '"$a"'

希望對你有幫助

python單引號和雙引號的區別

7樓:笑喘是病得抽

使用上來說沒什麼區別

有點小技巧倒是可以提一下

如:str = 'my name is "***"!'

str = "my name is '***'!"

這樣各自的賦值包含不同的引號

linux 中的單引號 和雙引號有什麼區別嗎

8樓:匿名使用者

單引號中是原始字串

雙引號可以對特殊字元進行擴充套件,如

a=bcdef

echo "$a" #雙引號將進行變數擴充套件 ,輸出bcdefecho '$a' #單引號直接輸出$a

9樓:零格格藤載

沒有區別,都是字串,但bash中有一個字元要特別注意,那就是~下的點號「`」,它不是單引號,用它括起來的字串,linux會按命令來執行,並把結果轉為字串。

linux中的單引號和雙引號的區別

10樓:匿名使用者

你說的是什麼?shell 指令碼 還是 c 語言?

shell 指令碼中,雙引號內的 $ 變數是被的,就是它們會被計算;而單引號中所有的文字都是不變動的,取他們字面的意思和值,也就是說 $ 是不會被。

c 語言中,單引號 一般是代表一個字元的二進位制值,型別與 int 相容;而 雙引號 是字串,是 char 陣列,與 char* 相容。

11樓:北極狐巧奪天工

引號和雙引號uiytr

linux中三種引號的作用有什麼區別

12樓:緈福de阿軍

linux的三中引號

bai:雙引du號 " " ,單引號 ' ', 還有就是反zhi引號 ` `

單引號和雙

dao引號的作用是差不多專

的,在裡面的結屬果都是字串,比如

a="date" ,b='date' 這兩個是一樣的。

反引號的作用就不一樣了,反引號是把裡面的當作一個命令來執行,比如c=`date`

當 echo $a $b $c的時候 結果就分別是date date 2014-11-1 20:33

php雙引號包含單引號,單引號再包含單引號,這個語句怎麼寫啊

first confirmationstr 說明 用單引號引用屬於個人愛好,如果你的愛好相反,請替換版所有的單雙權引號 php中sql語句的單引號雙引號用法,很費解,請給講解一下 其實很簡單,只要是sql語句裡面的接受傳過來的值得時候統一用這樣的方式就不會有什麼錯誤的 例如 sql insert i...

單引號的作用,雙引號和單引號的用法是什麼?

引號的作用如下 1 表示引用。2 表示特定稱謂。示例 荷蘭有 歐洲花園 花卉王國 的美譽。3 表示特殊含義。示例 多災多難的黃河怎麼能成為中華民族的 搖籃 4 表示諷刺和嘲笑。示例 有幾個 慈祥 的老闆到菜場去收集一些菜葉,用鹽一浸,這就是他們難得的佳餚。5 突出強調。示例 從山腳向上望,只見火把排...

雙引號的作用和帶有雙引號的句子(每個都要造句)

用有好幾個。一 復特製殊含義 二 特殊稱謂 三 引用 四 強調 造句 他真是個 聰明 人!望採納!雙引號的作用,表示特殊,強調。配合冒號 表示某人說的話帶有雙引號的句子,近 豬 者 吃 近墨者黑。詹天佑順著山勢,設計了一種 人 字形線路。望採納 雙引號的作用,表示特殊,強調。配合冒號 表示某人說的話...