學習筆記——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學習筆記 --- Spark中Map和FlatMap轉換的區別
wechat:812716131 ------------------------------------------------------ 技術交流群請聯絡上面wechat ----------------------------------------------
學習筆記 shell流程控制語句 if 和 for
if條件測試語句 使用單分支的if條件語句來判斷/media/cdrom檔案是否存在,若存在就結束條件判斷和整個Shell指令碼,反之則去建立這個目錄: [[email protected] ~]# vim 1.sh #!/bin/bash DIR="
Spring Boot學習筆記(八)使用jar和war方式打包並在外部Tomcat中部署運行
設置 return ini mage bubuko ext pri 分享圖片 項目 使用war包的方式發布到外部Tomcat中去 首先修改pom.xml中的配置,使打包方式設置為war包的形式 然後 maven update project 更新下項目 Applica
【Robot定位 學習筆記 1】GPS和IMU(慣導)在無人駕駛中的應用
無人駕駛定位技術 行車定位是無人駕駛最核心的技術之一,全球定位系統(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.4和AJS3.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的文件,