1. 程式人生 > >學習筆記——shell中的引號和括號使用的總結

學習筆記——shell中的引號和括號使用的總結

 對shell中各種引號的使用區分的不是太清楚,今天再次總結下來,一方面加深印象,另一方面以後用到時也可以回來看~

1、雙引號 使用雙引號可引用除字元$、`、/外的任意字元和字串。

舉例:

grep tao tao /home/taotaotheripper

執行結果:

grep: tao: 沒有哪個檔案或目錄

grep "tao tao /home/taotaotheripper" 就可以正常運行了

var=taotaotheripper

echo "$var"

執行結果:taotaotheripper

說明雙引號不能引用$字元

2、單引號

與雙引號類似,但是可以引用任何字元。

舉例:

var=taotaotheripper

echo '$var'

執行結果:$var

3、反引號

反引號用於設定系統命令的輸出到變數。

舉例:

echo `date`

執行結果:

2010年 07月 25日 星期日 20:15:37 CST

說明date先執行後執行結果被echo輸出

var=`date`

echo $var

執行結果與上面相同

4、反斜線

遮蔽字元的特殊含義。

舉例:

var=taotaotheripper

echo "/$var"

輸出結果:$var

$字元已經被/轉義

5、大括號和小括號

1)${var}和$(var)

    a)${var}

    這種用法中,加上大括號與不加沒有區別,唯一不同是當不加大括號會出現歧義時應加上大括號。

    舉例:

    var=taotaotheripper

    echo $vardandan

    執行結果:

    此時shell把vardandan看作一個變數,若第二行改為

    echo ${var}dandan

    執行結果:taotaotheripperdandan

    b)$(var)

     命令替換,與``作用相同,執行指令,並把指令的標準輸出放到$(var)的位置。

2)一串命令執行和()和{}

    ()和{}都是對一串的命令進行執行,但有所區別:

    A、()只是對一串命令重新開一個子shell進行執行

    B、{}對一串命令在當前shell執行

    C、()和{}都是把一串的命令放在括號裡面,並且命令之間用;號隔開

    D、()最後一個命令可以不用分號

    E、{}最後一個命令要用分號

    F、{}的第一個命令和左括號之間必須要有一個空格

    G、()裡的各命令不必和括號有空格

    H、()和{}中括號裡面的某個命令的重定向隻影響該命令,但括號外的重定向則影響到括號裡的所有命令

    舉例:

    var=taotao

    (var=dandan)

    echo $var

    執行結果:

    taotao

    子shell中的var發生了改變,但是原shell中並沒有發生改變

    var=taotao

    { var=dandan; }

    echo $dandan

    執行結果:

    dandan

     因為{}是在當前shell執行,所以原shell中的變數發生了變化

    { var1=taotao;var2=dandan;echo $var1>a;echo $var2;}

    cat a

    輸出結果:

    taotao

    只有一個指令被重定向

    { var1=test1;var2=test2;echo $var1;echo $var2; }>a

    cat a

    執行結果:

    taotao dandan

6、中括號

    1)可用作數值計算。

    舉例:

    echo $[ 1 * 2 ]

    執行結果:

    2

    2)可用作各種條件測試

    舉例:

    [ 3 -eq 3 ]

    echo $?

    執行結果:

    0

    說明3與3相等

    關於中括號在條件測試中的用法有檔案狀態測試、字串測試和數值測試,在此不展開了,呵呵。

相關推薦

學習筆記——shell引號括號使用的總結

 對shell中各種引號的使用區分的不是太清楚,今天再次總結下來,一方面加深印象,另一方面以後用到時也可以回來看~ 1、雙引號 使用雙引號可引用除字元$、`、/外的任意字元和字串。 舉例: grep tao tao /home/taotaotheripper 執行結果: gr

Linux系統下python學習筆記——Linux檔案目錄常用命令詳解

一、檢視目錄內容 ls命令說明: 英文單詞list的簡寫,功能為列出目錄的內容,是使用者最常用的命令字義    Linux下檔案和目錄的特點: Linux檔案或目錄名稱最長可以有256個字元 以 . 開頭的檔案為隱藏檔案,需要用-a引數才能顯示(all

Spark學習筆記 --- SparkMapFlatMap轉換的區別

wechat:812716131 ------------------------------------------------------ 技術交流群請聯絡上面wechat ----------------------------------------------

學習筆記 shell流程控制語句 if for

if條件測試語句 使用單分支的if條件語句來判斷/media/cdrom檔案是否存在,若存在就結束條件判斷和整個Shell指令碼,反之則去建立這個目錄: [[email protected] ~]# vim 1.sh #!/bin/bash DIR="

Spring Boot學習筆記(八)使用jarwar方式打包並在外部Tomcat部署運行

設置 return ini mage bubuko ext pri 分享圖片 項目 使用war包的方式發布到外部Tomcat中去 首先修改pom.xml中的配置,使打包方式設置為war包的形式 然後 maven update project 更新下項目 Applica

【Robot定位 學習筆記 1】GPSIMU(慣導)在無人駕駛的應用

無人駕駛定位技術 行車定位是無人駕駛最核心的技術之一,全球定位系統(GPS)在無人駕駛定位中也擔負起相當重要的職責。然而無人車是在複雜的動態環境中行駛,尤其在大城市,GPS多路徑反射的問題會很明顯。這樣得到的GPS定位資訊很容易就有幾米的誤差。對於在有限寬度高速行駛的汽車來說,這樣的誤差很有可能

shell的大括號括號

在這裡我想說的是幾種shell裡的小括號,大括號結構和有括號的變數,命令的用法,如下: 1.${var} 2.$(cmd) 3.()和{} 4.${var:-string},${var:+string},${var:=string},${var:?string} 5.$((exp)) 6.$(var%pa

Vue.js學習筆記:在元素 template 使用 v-if 指令

語法比較簡單,直接上程式碼: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <hea

java學習筆記——java對象的創建,初始化,引用的解析

初始 學習筆記 style article 學習 base 表達 如果 bsp 如果有一個A類。 1、例如以下表達式: A a1 = new A(); 那麽A是類,a1是引用。new A()是對象。僅僅是a1這個引用指向了new A()這個對象。 2、又如: A

Python學習筆記——叠代器生成器

返回對象 node manual 通過 line 計數 bject repr 對象 1、手動遍歷叠代器   使用next函數,並捕獲StopIteration異常。 def manual_iter(): with open(‘./test.py‘) as f:

3D Game Programming withDX11 學習筆記(一) 數學知識總結

表示 圖形 http 根據 轉置 元素 material -s com   在圖形學中,數學是不可或缺的一部分,所以本書最開始的部分就是數學知識的復習。在圖形學中,最常用的是矢量和矩陣,所以我根據前面三個章節的數學知識,總結一下數學知識。 一、矢量   數學中的矢量,擁有

shell exec source 命令解析

mage 開始 概念 繼續 uil target 緩沖區 mman bash內部命令 文章大部分來源於:http://www.cnblogs.com/zhaoyl/archive/2012/07/07/2580749.html 作為筆記留存博客備忘。 exec和source

C++ Primer 學習筆記_5_變量基本類型(續2)

key 情況 boa 類和對象 類定義 優點 splay 查看 變量定義  變量和基本類型 七、枚舉 枚舉不但定義了整數常量集,並且還把它們聚集成組。 枚舉與簡單的const常量相比孰優孰劣, 通過以下一段代

MYSQL學習筆記三:日期時間函數

div content minute name top fonts table hmm 指定 MYSQL學習筆記三:日期和時間函數 1. 獲取當前日期的函數和獲取當前時間的函數 /*獲取當前日期的函數和獲取當前時間的函數。將日期以‘YYYY-MM-DD‘或者’YYYYM

學習筆記17_網站異常日誌處理

add asa asp 日誌類 cte clob rect string 學習 *在clobal.asax中,寫protected void Application_Error() {   Respone.Redirect("Default.aspx");//發生錯誤能在此

Nginx學習筆記04URL匹配規則實際路徑

oca 定義 wid val style 例如 top font 相同 1.1.1. URL匹配規則 匹配規則配置總結: location [=|~|~*|^~] /uri/ { } 優先級 匹配方式 描述 1最高 = 精確匹配。

ArcGIS API for JavaScript 4.4學習筆記[新] AJS4.4AJS3.21新特性

ack 讀取 port 不同 ide evel arc ges wfs ESRI官網悄無聲息突然更新4.4和3.21,公眾號也沒有什麽消息。照例,給大家看看這次更新有什麽新特性吧。 1. AJS 4.4 官方更新日誌:點我,比較詳細。我在這裏抽一些主幹作為說明。 1.1

學習筆記】C# 構造析構

成員 int 學習 pri [] func 釋放內存 ring 銷毀 構造方法 構造方法是一個特殊的方法,負責初始化對象 構造方法名必須和類名一致 構造方法沒有返回值,但可以有參數,能夠重載 構造方法可以不寫,系統會自動為類添加一個無參的默認構造 如果將構造方法設置為P

學習筆記:Linux 文件目錄屬性及權限

學習筆記:linux 文件和目錄屬性及權限1 . Linux 中的文件1.1 文件屬性概述 在linux裡面一切皆文件!! Linux 系統中的文件或目錄的屬性主要包括:索引節點(inode)、文件類型、權限屬性、鏈接數、所歸屬的用戶和用戶組、最近修改時間等內容: 下面我們看一下執行ls- lhi的結果:[[

Python學習筆記之文件

關閉 write finall 存儲路徑 大文件 描述 可選參數 針對 硬盤 打開文件:open(name[,mode[,buffering]]),返回一個文件對象,模式(mode)和緩沖(buffering)是兩個可選參數。 假設有一個名為somefile.txt的文件,