1. 程式人生 > >shell中單引號,雙引號,反引號,不用引號的使用區別

shell中單引號,雙引號,反引號,不用引號的使用區別

 shell定義字串變數時字串可以用單引號,也可以用雙引號,也可以不用引號,如果無特殊情況話,三者效果一樣

 1.單引號和雙引號的區別

   str=yalong
  echo "The str is $str" >>  The str is yalong #雙引號中的$str被其值yalong替換,即雙引號允許變數替換。

  echo 'The str is $str'  >>  The str is $str #單引號中的內容被原樣輸出,即單引號不允許變數替換。

 總結:單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的;

           單引號字串中不能出現單引號(對單引號使用轉義符後也不行)

          雙引號裡可以有變數,允許變數替換
          雙引號裡可以出現轉義字元

2.不用引號和用引號(單引號或者雙引號)的區別

[[email protected] ~]$ A=HELLO WORLD
bash: WORLD: command not found...
[[email protected] ~]$ A='HELLO WORLD'
[[email protected] ~]$ echo $A
HELLO WORLD
[[email protected] ~]$ A=HELLO \t world
bash: t: command not found...
[
[email protected]
~]$ A='hello \t world' [[email protected] ~]$ echo $A hello \t world [[email protected] ~]$ A="hello \t world" [[email protected] ~]$ echo $A hello \t world

總結:定義變數時,若等號右側的字串中含有空格或者製表符,換行符時,要用引號將打算賦值的字串括起,否則報錯。

關於轉義字元\的使用:
echo  "hello world" >>  hello world  #這裡面雙引號就是雙引號,不輸出
echo  \"hello world\" >> "hello world"  #輸出雙引號,這裡用了轉義字元\所以雙引號失去了引號功能,成了字串。
3.反引號的使用``,執行裡面的命令

[[email protected] ~]$ echo aa=`date +%H`  #這裡用的是反轉義字元,esc下面的那個符號。
aa=23
[[email protected] ~]$ echo aa="date+%H" #這裡用的是雙引號,命令失效。
aa=date+%H
A=`ls -la` 反引號,執行裡面的命令,並把結果返回給變數A
A=$(ls -la) 等價於反引號
A=`pwd`  & echo $A   
A=$(pwd)  $ echo $A

相關推薦

shell引號引號引號不用引號的使用區別

 shell定義字串變數時字串可以用單引號,也可以用雙引號,也可以不用引號,如果無特殊情況話,三者效果一樣 1.單引號和雙引號的區別   str=yalong  echo "The str is $str" >>  The str is yalong #雙引號中的

Linux shell引號引號及不加引號的簡單區別

簡要總結: 單引號:   可以說是所見即所得:即將單引號內的內容原樣輸出,或者描述為單引號裡面看見的是什麼就會輸出什麼。 雙引號:   把雙引號內的內容輸出出來;如果內容中有命令,變數等,會先把變數,命令解析出結果,然後在輸出最終內容來。   雙引號內命令或變數

shell引號引號斜杠簡說

能夠 col 都是 嵌套 修改文件 字符 變量名 令行 文件中 需求:ssh遠程修改文件,變量從文件中獲取,插入遠程服務器的文件裏 shell腳本中的單引號和雙引號一樣都是字符串的界定符,而不是字符的界定符。單引號用於保持引號內所有字符的字面值,即使引號內的\和回車也不

shell引號引號引號斜槓的區別

可以識別4種不同型別的引字元號: 單引號字元' 雙引號字元" 反斜槓字元\ 反引號字元` 1. 單引號 ( '' ) # grep Susan phonebook Susan Goldberg 403-212-4921 Susan Topple 212-234-23

shell括號與括號的區別

1.單括號TEST命令要對變數進行單詞分離,當變數值包含空白符時,要用引號將變數括起來;而雙括號的TEST命令不會對變數進行單詞分離。 以下情況分為變數為單個單詞,含有空格的片語。 [[email protected] yansan]# echo $nam

unity控制相機實現旋轉縮放——觸屏版(指控制旋轉結束有慣性滑動指控制縮放根據手指間距離變化程度控制縮放程度)

using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test : MonoBehaviour {     public float pinch

shell獲取某個目錄下全部的子檔名java根據包名分批打包

需求 公司每次升級正式環境都是對著專案各個模組進行單獨打包。 現在公司希望使用shell指令碼來批量的自動打包,以減少人工出錯的情況。 思路 ①我會先對整個專案進行javac編譯,把編譯後的.clas

ansible實現nginx主模式keepalived高可用memcached緩存

ansible實現nginx前端反代 keepalived高可用與對後端rs的配置 ansible自動化運維工具配置ngnix前端反代到後端真實機,並設置keepalived高可用,在後端一臺真實主機上配置httpd,mysql,php-fpm;設置memcached緩存服務器在這臺真實主機上;(

xmind 8 便攜版:關聯文件後擊打開文件在當前文件夾產生configuration子文件的問題解決辦法

shell color def inline tle data comm logs default Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\.xmind] @="XMind.Workbook.3" "X

Vivado埠和埠RAM的區別

Note: 以下內容可能會有錯誤的地方,僅供參考,詳細請查閱Xilinx官方產品指南《pg058-blk-mem-gen》 ! BMG即Block Memory Generator,是Xilinx配置BRAM的IP核,可將BRAM配置成如圖所示的5種類型。 RAM分三種,

大話資料結構端迴圈連結串列源程式

在網上找了下大話資料結構這本書的原始碼,發現第三章雖然有說到雙端連結串列卻沒給出實現,於是自己線上性連結串列的基礎上修改了一下,原始碼如下: 我將只有一個頭結點的時候,頭結點的next和prior都指向自己。 主要是注意一下插入的時候基本都遵循這個模型:,也就是找到要插入的

linux shell./a.sh , sh a.sh , source ./a.sh, . ./a.sh的區別

      在linux shell中, 執行shell script的方式有多種, 有什麼區別呢?  實際上我之前說過, 現在用一個簡單例子再來說下。       a.sh的內容是: #! /bin/bash echo hello world echo "PID of

實現購物車結算功能:批量和全部刪除全選和單價和總價數量增減頁面隱藏和顯示

需求: 要求:技術要求(html+css+angularjs) 1.  完成頁面佈局,如圖1.1(button按鈕可以用普通按鈕) 2.Ø宣告資料物件,初始化商品資訊,資料自擬且不低於四條 3.  用ng-repaet指令將物件遍歷並渲染到頁面中 4.Ø點選”+”按鈕輸入

shell程式設計引號引號各種括號的區別

一、單引號和雙引號 首先,單引號和雙引號,都是為了解決中間有空格的問題。 因為空格在linux中時作為一個很典型的分隔符,比如string1=this is astring,這樣執行就會報錯。為了避免這個問題,因此就產生了單引號和雙引號。他們的區別在於,單引號將剝奪其

linux引號引號引號區別

單引號、 雙引號反引號的區別1、單引號、雙引號用於用戶把帶有空格的字符串賦值給變量的分界符。  [root@localhost sh]# str="Today is Monday"  [root@localhost sh]# echo $str  Today is Monday  如果沒有

jsp接收 input文字輸入框無法正確顯示引號引號的問題

在html的input文字輸入框中,無法正確顯示單引號和雙引號的問題 分類: JavaScript2010-12-08 15:02 4074人閱讀 評論(1) 收藏 舉報 inputhtmljqueryc html 轉意: '----

Python引號引號三個引號引號引號引號引號區別

Python 中一對單引號和一對雙引號都可表示一個字串:  1 Str1 = 'python' 2 Str2 = "python" 思考? 如何表示字串: I ' am a python coder.  方法一, 用單引號加轉義字元  ' \ ': 1

Linux Shell 引號引號

    反引號位 (`) 位於鍵盤的Tab鍵的上方、1鍵的左方。注意與單引號(')位於Enter鍵的左方的區別。   在Linux中起著命令替換的作用。命令替換是指shell能夠將一個命令的標準輸出插在一個命令列中任何位置。   如下:    shell會執行反引號中的date命令,把結果插入到echo

前端(JShtml)引號問題

        JSP中常見單雙引號問題: JSP中主要分三塊程式碼的書寫        分別是<%java程式碼%> <!-html程式碼-!> <*/JS程式碼*/>        主要問題:            1、JS中引用HTM

在ORACLE SQL語句引號引號的使用

/**在ORACLE中 雙引號" 被當做一個普通的字串來處理**/SELECT '"' AS "字串結果" FROM DUAL;/**正常狀態下,兩個''包含的字串被當做字面值**/SELECT '[email protected]' FROM DUAL;/**測