1. 程式人生 > >shell 中三種引號的用法及區別

shell 中三種引號的用法及區別

Linux Shell中有三種引號,分別為雙引號(" ")、單引號(' ')以及反引號(` `)。

其中雙引號對字串中出現的$、''、`和\進行替換;單引號不進行替換,將字串中所有字元作為普通字元輸出,而反引號中字串作為shell命令執行,並返回執行結果。具體含義如下:

  • 雙引號(" "):在雙引號中,除了$, '', `和\以外所有的字元都解釋成字元本身。
  • 單引號(' '):在單引號中所有的字元包括特殊字元($,'',`和\)都將解釋成字元本身而成為普通字元。
  • 反引號(` `):在反引號中的字串將解釋成shell命令來執行。

舉例:

[email protected]:~# echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
可以看到在雙引號中,$被作為特殊字元處理,PATH被解釋為變數。
[email protected]:~# echo '$PATH'
$PATH
在單引號中,特殊字元也失去了特殊意義作為普通字元輸出。
[email protected]:~# echo ls
ls
ls是一個shell命令,直接echo ls shell會將ls作為普通字元輸出。如果我們加上反引號就不一樣了,
[email protected]:~# echo `ls`
99.sh cloud_curr_design cloud_curr_design.tar.gz exefile for.sh gyb_virsh httpd-2.2.31 qemu_help readfile.sh switch.sh temp temp10.sh temp1.sh temp2.sh temp3.sh temp4.sh temp5.sh temp6.sh temp7.sh temp8.sh temp9.sh te.sh test9.sh ubuntu1204Server.img ubuntu1204Server.xml ubuntuGuest.xml ubuntu-server.img win7.img
加上反引號之後,shell將ls作為命令執行,並將結果返回。

相關推薦

shell 引號用法區別

Linux Shell中有三種引號,分別為雙引號(" ")、單引號(' ')以及反引號(` `)。 其中雙引號對字串中出現的$、''、`和\進行替換;單引號不進行替換,將字串中所有字元作為普通字元輸出,而反引號中字串作為shell命令執行,並返回執行結果。具體含義如下:

shell命令;,&,&&,|,||用法區別

在linux運維過程中時常會執行多條命令,這樣我們就需要多重命令方式進行處理 ;運算子 通過使用;來執行多條命令,例如: # cd /root/home;mkdir a1d4m;cd a1d4m/ &運算子 通過使用&來執行多條命令,例如: # cd /root/h

java循環的區別

一次 for ava 循環 初始 條件 如果 -- pre while(條件){循環體}先判斷條件,滿足就執行循環體,不滿足則退出;do{循環體}while(條件)先執行一次循環體,再判斷條件,如果條件滿足,繼續執行,不滿足,退出循環,最少執行一次;for(<初始化&

java基本語句四道例題

一、if-else語句 if (關係/邏輯/算術表示式) { 當條件成立時所要執行的函式功能 } else { 當if後的條件不成立時所要執行的函式體 } 二、switch語句 switch(引數) { case 表示式1(即有可能輸入的引數): 所要執行的函式體;

VMWare linux 虛擬機器網路,區別

前言虛擬機器網路模式無論是vmware,virtual box,virtual pc等虛擬機器軟體,一般來說,虛擬機器有三種網路模式:1.橋接2.NAT3.Host-Only初學者看到虛擬機器有三種網路,估計就慌了,筆者也是。哪一種網路是適合自己的虛擬機器呢?橋接   

jspinclude用法區別

如果要實現一個網站。而且整個web站點,都需要選單,頁首,頁尾(HTML程式碼) 兩種實現方法:    1,在所有的jsp頁面中,寫上選單,頁首,頁尾的html程式碼(顯然這樣做時不合理的,如果後期要換一下頁首或選單,那麼工作量是很大的)     2 ,在所有的js

VMware網路連線的區別

1、概述   大家在安裝完虛擬機器後,預設安裝了兩個虛擬網絡卡,VMnet1和VMnet8,如下圖。其中VMnet1是host網絡卡,用於host方式連線網路的。VMnet8是NAT網絡卡,用於NAT方式連線網路的。它們的IP地址是隨機生成的。   VMware提供了三種工作模式,它們是bridged(橋

Spring原始碼分析之IOC的常見用法原始碼實現(二)

Spring原始碼分析之IOC的三種常見用法及原始碼實現(二) 回顧上文 我們研究的是 AnnotationConfigApplicationContext annotationConfigApplication = new AnnotationConfigApplicationContext

Linux Shell引號用法

containe ubunt ref highlight 處理 alt 返回 cin test Linux Shell中有三種引號,分別為雙引號(" ")、單引號(‘ ‘)以及反引號(` `)。 其中雙引號對字符串中出現的$、‘‘、`和\進行替換;單引號不進行替換,將字符串

Android常用解析XML的方式(DOM、SAX、PULL)簡介區別

字符串 lan win name屬性 Coding 空間 toc log fin XML在各種開發中都廣泛應用,Android也不例外。作為承載數據的一個重要角色,如何讀寫XML成為Android開發中一項重要的技能。今天就由我向大家介紹一下在Android平臺下幾種常見的

Linuxyum和apt-get用法區別

記錄 auto yum安裝軟件 mirror 內核 epo 綁定 提示 們的 Linux中yum和apt-get用法及區別 一般來說著名的linux系統基本上分兩大類: 1.RedHat系列:Redhat、Centos、Fedora等 2.Debian系列:De

java訪問修飾符區別詳解全過程

HP dnv ax1 pci gda fmm utc dos rdp 客戶端程序員:即在其應用中使用數據類型的類消費者,他的目標是收集各種用來實現快速應用開發的類。   類創建者:即創建新數據類型的程序員,目標是構建類。     訪問控制存在的原因:a、讓客戶端程序員無法觸

Mysqlunion和union all的用法區別

employee rom 最終 sel 推薦 china carte 區別 column UNION 用於合並兩個或多個 SELECT 語句的結果集,並消去表中任何重復行。UNION 內部的 SELECT 語句必須擁有相同數量的列,列也必須擁有相似的數據類型。同時,每條 S

Android源碼final關鍵字的用法final,finally,finalize的區別

部分 高薪 沒有 調用 內存 android應用 執行 garbage 教學 Android開發的學習流程 final,finally,finalize的區別 Android的發展越來越快,Android開發人員越來越多,當兩種情況碰撞,在諸多開發者中跟緊Android步伐

pythonnp.multiply()、np.dot()和星號(*)乘法運算的區別

圖片 分享 png blog details 分享圖片 blank net ref https://blog.csdn.net/zenghaitao0128/article/details/78715140 總結一下: python中np.multiply()、np.

Linuxwget、yum與apt-get用法區別

一般來說著名的linux系統基本上分兩大類: RedHat系列:Redhat、Centos、Fedora等 Debian系列:Debian、Ubuntu等 RedHat 系列  常見的安裝包格式 rpm包,安裝rpm包的命令是“rpm -引數” 包管理工具 yum 支援tar包 Deb

TensorFlow 啟動圖用法

轉自https://blog.csdn.net/lyc_yongcai/article/details/73467480 TensorFlow 中有三種啟動圖的方法:tf.Session(),tf.InteractivesSession(),tf.train.Supervisor().manag

Python關鍵字nonlocal和global的用法區別

一、Python3中global與nonlocal 用法 nonlocal 首先,要明確 nonlocal 關鍵字是定義在閉包裡面的(不定義在閉包裡會拋異常SyntaxError: nonlocal declaration not allowed at mod

JavaWeb-jsp書寫java語言指令碼元素的區別

<%! %> 在這指令碼中書寫java程式碼被生成java檔案的成員位置上。 可以寫屬性,方法,類 作用:是用來進行宣告的。 <% %&g

js定義變數的方式const, var, let的區別

const   var  let區別 1.const 定義的變數不可以修改,而且必須初始化 const  a = 3;正確 const a;錯誤,必須初始化 console.log("函式外const定義a:"+"a");    有值輸出;