小鳥初學(xué)Shell編程(六)變量賦值

變量的意義

我們在使用Linux命令或腳本的時(shí)候,會有一些輸出盆均,那么這些輸出的信息可以用變量臨時(shí)存儲疾就,以備我們下一條命令或腳本使用。


變量的定義

變量的定義建議用一個(gè)有意義的英文單詞來代表變量蔫缸,不要使用簡單的字母ab 這類的變量名定義际起。因?yàn)槲覀儗懞肧hell腳本實(shí)際上是要給人看的拾碌,所以我們定義好的變量吐葱,是希望變量有具體的含義,能讓閱讀Shell腳本人能輕松的明白校翔。

變量的命名規(guī)則:

  • 字母弟跑、數(shù)字、下劃線
  • 不以數(shù)字開頭

變量的賦值

為變量賦值的過程防症,稱為變量替換

Shell腳本里變量是不區(qū)分變量類型的

變量賦值的規(guī)則:變量名=變量值
var=123
注意:賦值的等號左邊右邊是不能有空格的孟辑,如果出現(xiàn)空格那么執(zhí)行的時(shí)候回進(jìn)行報(bào)錯(cuò)

[root@lincoding ~]# var=123
[root@lincoding ~]#
[root@lincoding ~]# var =123
-bash: var: command not found
[root@lincoding ~]# var = 123
-bash: var: command not found

因?yàn)槌霈F(xiàn)空格,Shell會認(rèn)為前面的是命令而不是變量

使用let為變量賦值
[root@lincoding ~]# let num=10+10
[root@lincoding ~]# echo $num
20

let可以做簡單的數(shù)字運(yùn)算

將命令賦值給變量
[root@lincoding ~]# ls_cmd=ls
[root@lincoding ~]# ${ls_cmd}
anaconda-ks.cfg  install.log  install.log.syslog

還可以使用把命令賦值給變量蔫敲,在使用變量的時(shí)候饲嗽,相當(dāng)于執(zhí)行命令

將命令結(jié)果賦值給變量,使用$()或者``
[root@lincoding ~]# file_list=$(ls /tmp)
[root@lincoding ~]# echo ${file_list}
pear yum.log

[root@lincoding ~]# file_list=`ls /tmp`
[root@lincoding ~]# echo ${file_list}
pear yum.log

使用這種方式的好處奈嘿,就是避免重復(fù)執(zhí)行相同命令貌虾,增加服務(wù)器的開銷,而是只執(zhí)行一次命令裙犹,并把命令的結(jié)果保存到變量尽狠,做下一步的使用

變量值有空格等特殊字符可以包含在雙引號""和單引號''
[root@lincoding ~]# var="1 2 3"
[root@lincoding ~]# echo $var
1 2 3

[root@lincoding ~]# var='a b c'
[root@lincoding ~]# echo $var
a b c

當(dāng)字符串需要雙引號時(shí),需要用單引號來定義字符串

[root@lincoding ~]# var='"a" "b" "c"'
[root@lincoding ~]# echo $var
"a" "b" "c"

當(dāng)字符串需要單引號時(shí)叶圃,需要用雙引號來定義字符串

[root@lincoding ~]# var="'a' 'b' 'c'"
[root@lincoding ~]# echo $var
'a' 'b' 'c'

雙引號和單引號還有個(gè)區(qū)別袄膏,就是單引號里字符串不管是特殊字符都會被解釋成普通的字符串

[root@lincoding ~]# string="${var} , Shell"
[root@lincoding ~]# echo $string
hello , Shell
[root@lincoding ~]# string='${var} , Shell'
[root@lincoding ~]# echo $string
${var} , Shell

小結(jié)

在Shell里變量的定義是不需要定義類型的,變量賦值的時(shí)候等號兩邊不能有空格掺冠,變量可以賦值Linux的命令沉馆,也可以賦值運(yùn)行Linux命令返回的結(jié)果輸出內(nèi)容,也可以做簡單的數(shù)字計(jì)算赫舒,并雙引號和單引號定義的字符串是有一定的區(qū)別的悍及,單引號定義的字符串都會被解釋成普通的字符串闽瓢,不管是否有特殊字符接癌。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市扣讼,隨后出現(xiàn)的幾起案子缺猛,更是在濱河造成了極大的恐慌,老刑警劉巖椭符,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件荔燎,死亡現(xiàn)場離奇詭異,居然都是意外死亡销钝,警方通過查閱死者的電腦和手機(jī)有咨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蒸健,“玉大人座享,你說我怎么就攤上這事婉商。” “怎么了渣叛?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵丈秩,是天一觀的道長。 經(jīng)常有香客問我淳衙,道長蘑秽,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任箫攀,我火速辦了婚禮肠牲,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘靴跛。我一直安慰自己埂材,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布汤求。 她就那樣靜靜地躺著俏险,像睡著了一般。 火紅的嫁衣襯著肌膚如雪扬绪。 梳的紋絲不亂的頭發(fā)上竖独,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天,我揣著相機(jī)與錄音挤牛,去河邊找鬼莹痢。 笑死,一個(gè)胖子當(dāng)著我的面吹牛墓赴,可吹牛的內(nèi)容都是我干的竞膳。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼诫硕,長吁一口氣:“原來是場噩夢啊……” “哼坦辟!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起章办,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤锉走,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后藕届,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挪蹭,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年休偶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了梁厉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡踏兜,死狀恐怖词顾,靈堂內(nèi)的尸體忽然破棺而出只冻,到底是詐尸還是另有隱情,我是刑警寧澤计技,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布喜德,位于F島的核電站,受9級特大地震影響垮媒,放射性物質(zhì)發(fā)生泄漏舍悯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一睡雇、第九天 我趴在偏房一處隱蔽的房頂上張望萌衬。 院中可真熱鬧,春花似錦它抱、人聲如沸秕豫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽混移。三九已至,卻和暖如春侮穿,著一層夾襖步出監(jiān)牢的瞬間歌径,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工亲茅, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留回铛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓克锣,卻偏偏與公主長得像茵肃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子袭祟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,383評論 0 5
  • 一验残、Python簡介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡介】: Python 是一個(gè)...
    _小老虎_閱讀 5,746評論 0 10
  • 本篇內(nèi)容均摘自《Linux命令行與shell腳本編程大全》,個(gè)人認(rèn)為需要重點(diǎn)學(xué)習(xí)的章節(jié)榕酒∨卟玻【免費(fèi)】Linux命令行與...
    生信start_site閱讀 1,263評論 1 4
  • Shell入門 什么是shell故俐? Shell其實(shí)是一個(gè)命令解釋器想鹰,作用是解釋執(zhí)行用戶輸入的命令以及程序等,用戶每...
    酷酷的偉閱讀 425評論 0 1
  • 本文是對Linux shell編程的一個(gè)學(xué)習(xí)比較药版,共包括如下章節(jié)的內(nèi)容: 概述 基本語法 結(jié)構(gòu)化語句 函數(shù) 小結(jié) ...
    我是老薛閱讀 831評論 0 5