第一章 淺嘗shell編程

By WangGaoPeng

2017.12.4日是我和我對象的談戀愛兩周年契讲,作為一個IT從業(yè)人員唠雕,在這個普天同慶的日子里村缸,我終于可以潛下心來學(xué)習(xí)了......

這是一篇技術(shù)文章镣奋,不是撒狗糧的文章谣殊,哈哈,話不多說進(jìn)入今天的Shell編程的正題

作為一個從業(yè)三年的集成商的系統(tǒng)工程師紊馏,我覺得自己的發(fā)展需要有shell編程來支撐自己的技術(shù)體系

終于在今天晚上可以忍著痛苦來學(xué)習(xí)了一下shell編程

Shell之入門的哎口(ECHO)

在網(wǎng)上學(xué)習(xí)的知識標(biāo)準(zhǔn)的shell框架是醬紫的

#!/bin/bash

#auto print parameter \\簡述作用

# by wgp 2017-12-4? ? \\作者蒲犬,創(chuàng)作時間

在控制臺打印輸出My name is “名字” 如下:

echo "My name is WangGaoPeng"

在控制臺打印輸出名字

其實(shí)這是不太標(biāo)準(zhǔn)的書寫方法朱监,正規(guī)的應(yīng)該是給name一個定義,在echo中引用此變量原叮,如下:

name=WangGaoPeng

echo "My name is $name"? \\$name指的就是上面定義的name=WangGaoPeng

效果嘛和上圖是一樣的

在腳本中使用$引用PWD赫编、UID巡蘸,判斷目錄路徑以及用戶UID

echo $UID

echo $PWD

加上這兩條然后再/bin/bash運(yùn)行一下

如圖:出現(xiàn)的/root就是當(dāng)前所在目錄為/root;0就是當(dāng)前用戶的UID為0擂送,不信悦荒?不信你就新建一個abc用戶,然后給這個腳本一個755權(quán)限嘹吨,自己執(zhí)行一下試試去搬味。


使用PWD、UID判斷目錄路徑和UID

ok蟀拷,next one碰纬,現(xiàn)在說說我剛學(xué)的$0 和$1的用法

繼續(xù)剛才的腳本,末尾添加

echo $0

echo $1

/bin/bash echo.sh運(yùn)行如下:

我們看到$0位置顯示的是文件名 對问芬,$0的作用就是顯示文件名字了悦析,別的作用作為新手我還不清楚.......

然后$1位置沒有任何東西,納尼此衅?那應(yīng)該怎么整呢强戴,從網(wǎng)上學(xué)習(xí)到,$1的作用就是顯示參數(shù)的挡鞍。?

$1使用方法 /bin/bash echo.sh test 如圖 $1的用法

是不是很神奇骑歹,對$1位置顯示的就是顯示我們指定的參數(shù)test,如果想顯示兩個參數(shù)匕累,那就定義

echo $1 $2即可

$0 $1的作用


$1的用法

繼續(xù)學(xué)習(xí)

學(xué)習(xí)$? $#? $* 以下是我個人總結(jié)的陵刹,應(yīng)該面會很窄,但是作為新手理解應(yīng)該夠用了-_-

$? 判斷上一個命令是否執(zhí)行成功

$# 判斷有多少個參數(shù)

$* 總結(jié)有哪些參數(shù)

echo "This \$0 is $0"

echo "This \$1 is $1"

echo "This \$2 is $2"

echo "This \$* is $*"

echo "This \$? is $?"

echo "This \$# is $#"

添加完畢欢嘿,go on衰琐,繼續(xù)運(yùn)行一下,如圖 不帶參數(shù)的 echo腳本

開頭的目錄名字 UID 什么的我就不說了炼蹦,$0和$1的用法有人會對反斜杠(\)有疑問羡宙,這個反斜杠就是轉(zhuǎn)意的意思,這個$0不做變量使用掐隐,就當(dāng)普通的echo輸出用狗热。

這下就明白了$0的作用還是顯示文件名字,但是$1和$2都是空白虑省;

$*也是空白匿刮,因?yàn)闆]有參數(shù)啊,不明白看上面的 $*的解釋

$? 因?yàn)槟_本已經(jīng)執(zhí)行探颈,無報錯熟丸,自然就是0了,想看$0執(zhí)行錯誤的看 $0執(zhí)行錯誤 image

$# 也是空白伪节,因?yàn)闆]有加參數(shù)啊光羞,-_-!

接下來绩鸣,我們在執(zhí)行腳本的時候,后面加上 wgp jrx 如圖 帶參數(shù)的echo腳本

這下就一目了然了纱兑,參數(shù)有兩個呀闻,所以$#是2,別的我就不解釋了潜慎,自己對著看吧捡多。

不帶參數(shù)的 echo腳本


帶參數(shù)的echo腳本
$0執(zhí)行錯誤

哎口(ECHO)的Menu的騷操作

使用echo做一個假假的lamp的安裝菜單,這個操作需要另起一個shell文件哦勘纯,別忘了標(biāo)準(zhǔn)框架

echo -e "\033[32m please select Menu follow:\033[1m"

echo "1)install apache service"

echo "2)install Mysql service"

echo "3)install Php service"

echo "################################"

效果如圖 假假的Menu的腳本

看我們的字體都變成了原諒綠的顏色

這是因?yàn)閑cho -e的參數(shù)局服,這是一個標(biāo)準(zhǔn)的套路

echo -e "\033 [32m *********:\033[1m" \\這里可以寫成1m或者32m,1m指的是以下所有的文字的顏色都編程綠色驳遵,32m指的是當(dāng)前這一行變成綠色

假假的Menu的腳本


Shell 入門之if else

艸淫奔,先不寫了,有點(diǎn)多堤结,我們明天晚上再賤

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末唆迁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子竞穷,更是在濱河造成了極大的恐慌唐责,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件瘾带,死亡現(xiàn)場離奇詭異鼠哥,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)看政,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門朴恳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人允蚣,你說我怎么就攤上這事于颖。” “怎么了嚷兔?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵森渐,是天一觀的道長。 經(jīng)常有香客問我冒晰,道長同衣,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任壶运,我火速辦了婚禮乳怎,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己蚪缀,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布恕出。 她就那樣靜靜地躺著询枚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浙巫。 梳的紋絲不亂的頭發(fā)上金蜀,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天,我揣著相機(jī)與錄音的畴,去河邊找鬼渊抄。 笑死,一個胖子當(dāng)著我的面吹牛丧裁,可吹牛的內(nèi)容都是我干的护桦。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼煎娇,長吁一口氣:“原來是場噩夢啊……” “哼二庵!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缓呛,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤催享,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后哟绊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體因妙,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年票髓,在試婚紗的時候發(fā)現(xiàn)自己被綠了攀涵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡炬称,死狀恐怖汁果,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玲躯,我是刑警寧澤据德,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站跷车,受9級特大地震影響棘利,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜朽缴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一善玫、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧密强,春花似錦茅郎、人聲如沸蜗元。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽奕扣。三九已至,卻和暖如春掌敬,著一層夾襖步出監(jiān)牢的瞬間惯豆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工奔害, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留楷兽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓华临,卻偏偏與公主長得像芯杀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子银舱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

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

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,381評論 0 5
  • 流程控制 if 單條件 雙分支 多分支 case case支持glob風(fēng)格的通配符: *: 任意長度任意字符?: ...
    毛利卷卷發(fā)閱讀 748評論 0 1
  • 一瘪匿、shell腳本介紹 1.1 開頭(環(huán)境使用shebang機(jī)制) #!/bin/bash 必須寫在文件首行 符號...
    優(yōu)果馥斯閱讀 3,294評論 0 1
  • 編程需求: 之前已經(jīng)編寫過一個性能監(jiān)控腳本.現(xiàn)在將其再次進(jìn)行功能的豐富,以達(dá)到企業(yè)生產(chǎn)環(huán)境的需求. 本文中涉及到需...
    大白菜的豬豬閱讀 2,282評論 0 8
  • 1寻馏、終端 終端是交互式工具棋弥,用戶可以通過終端與shell環(huán)境進(jìn)行交互。shell命令都是在shell終端中輸入并執(zhí)...
    ruready閱讀 465評論 0 1