shell指令碼中的單引號和反引號經常混淆,請高手幫我區別它們的功能,謝謝

時間 2021-08-11 18:10:21

1樓:小米飛貓

單引號內忽略掉所有特殊字元

反引號能夠將一個命令的標準輸出插在一個命令列中任何位置

2樓:匿名使用者

單引號原樣輸出,你可以記為「單調輸出」,如下原樣輸出 eval echo a 這個字串,很單調吧:

echo 'eval echo a'

反引號執行內容後輸出,可以記為「反譯輸出」,要把引號中的內容反向翻譯一下,如下要執行反綽號中的內容 eval echo a,得到 a,再執行 echo,最終輸出 a:

echo `eval echo a`

3樓:在錦溪古鎮看西甲的墨西哥狼

雙引號和單引號區別還是有區別的,別說差不多(1) 單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的(雙引號可以)

(2) 單引號字串中不能出現單引號(對單引號使用轉義符後也不行)(3) 對於上一條,雙引號可以

(4) 對於命名一個字串,單引號雙引號都可以,甚至可以不加引號再舉個例子吧,比方說預定義了一個變數name=zhangsan雙引號,myname="$name is me"

echo myname 這邊輸出的是: zhangsan is me

單引號,myname='$name is me'

echo myname 這邊輸出的是: $name is me一般來說用雙引號,單引號弱爆了

shell指令碼變數單引號和雙引號的區別以及

4樓:秋天不回來

a=b c

echo "$a" 結果是b c

echo '$a' 結果是$a

雙引號會保留特殊字元的特殊含義

單引號就是將所有的字元作為普通字元

請教linux shell命令中雙引號與單引號巢狀的問題

5樓:12345額時代

1、首先在linux系統中,使用echo $ 0來顯示如下輸出。

2、檢視linux系統上可用的所有shell,檔案/ etc / shells中列出了linux系統上可用的所有shell。 可以使用cat命令或更少的命令來檢視檔案的內容。

3、更改shell以使用另一個shell,要使用其他shell,只需輸入其名稱即可登入新shell。

4、永久更改linux中的預設shell,linux允許您使用chsh命令更改預設shell。 為您自己的登入使用者更改預設shell的最佳方法是,使用-s選項指定/ etc / shells檔案中列出的shell名稱。

6樓:

echo ' " '$addr' " '="$addr" =addr的值

系統沒那麼聰明 他看到前面2個單引號就以為是一對了 他哪知道第一個和第4個才是一對

樓主真是人才 沒事拿這引號來出氣 整這麼多引號btw:你得需求我愣是沒看明白 可能是我領悟能力太差了吧 祝你學習順利

7樓:匿名使用者

建議你看看 bash 的源**,我覺得可能他只支援兩層的引號呼叫。

之後因為你的三層引號,導致 bash 處理出現問題了吧?

我覺得可能會是:

引號顯示部分只處理到第二級引號,後面被忽略。

變數處理實現部分是一直處理過來,所以**引號導致前面兩部都有雙引號,使得引號處理**認為只有兩級,但因為一直處理過來,所以前面只要遇到雙引號,就會 mask 一個 bash 變數,認為以雙引號開始。之後處理所有變數。

8樓:委思

只要是在雙引號裡的變數$都能生效

沒必要這麼複雜,用\"和\'不就行了

程式設計時邏輯清晰性也很重要,讓別人也能看懂

9樓:防塵一男

echo '"'$addr'"' 結果是 "192.168.0.111"

單引號裡面不能出現單引號,就算轉義也不行,所以這個系統是echo |'"' | $addr |'"'|

變數前面的倆個單引號是一對,變數後面的是一對

shell指令碼中ssh命令後面用單引號引用命令

10樓:看自己怎麼活

你這是要登陸嗎?檔案裡面是密碼?建議用expect來實現密碼輸入。

怎樣讓一個批處理程式在後臺執行啊???

EXCEL中雙引號和單引號中的數字有什麼區別

單引號就是輸入的是文字雙引號需在 號後面,指引用的是文字find中查詢目標值的位置,在你的比如中就是第一位,故顯示1如果是find b 結果為2,即第二位. 都是表示文字格式的8,但兩者使用的地方不同。前者只有在公式中才能實現。直接在單元格輸入 8 還是顯示輸入的樣式 8 後者是直接在單元格中指定8...

c語言中雙引號與單引號的區別,C語言中雙引號與單引號的區別

胡說八道小鬼 1 含義不同。用單引號引起的一個字元實際上代表一個整數,整數值對應於該字元在編譯器採用的字符集中的序列值。而一般我們的編譯器採用的都是ascii字符集。因此 s 的含義其實和十進位制數115的含義是一致的。而用雙引號引起的字串,代表的是一個指向無名陣列起始字元的指標。例如 分別檢視 y...

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

單引號與雙引號的最大不同在於雙引號仍然可以保有變數的內容,但單引號內僅能是 一般字元 而不會有特殊符號。我們以底下的例子做說明 假設您定義了一個變數,name vbird 現在想以 name 這個變數的內容定義出 myname 顯示 vbird its me 這 個內容,要如何訂定呢?root li...