小猿圈shell之 shell變量事甜、字符串以及git GUI運(yùn)行腳本方式

shell,是一個(gè)用C語(yǔ)言編寫(xiě)的應(yīng)用程序滔韵,是用戶使用linux的橋梁逻谦。所以呢,他既是一種命令語(yǔ)言陪蜻,同時(shí)呢還是一種程序設(shè)計(jì)語(yǔ)言邦马。shell腳本(shell script),是一種為shell編寫(xiě)的腳本程序囱皿。業(yè)界所說(shuō)的shell通常都是指shell腳本勇婴,shell和shell script是兩個(gè)不同的概念。由于習(xí)慣的原因嘱腥,簡(jiǎn)介起見(jiàn),本文出現(xiàn)的“shell編程”都是指shell腳本編程拘悦,而不是指開(kāi)發(fā)shell自身齿兔,注意兩者的區(qū)別啊,小猿圈上有詳細(xì)視頻講解础米。

? ? 下面開(kāi)始說(shuō)一下shell用法分苇。

? ? shell腳本開(kāi)頭呢,必須要注明自己用的是那個(gè)解釋器屁桑。保存的文件后綴名為***.sh就好了医寿。我用的是bash,所以開(kāi)頭需要注上#!/bin/bash

? ? 然后就是輸出了蘑斧,跟php類似靖秩,echo就可以輸出東西:echo "hello word!",就可以輸出內(nèi)容了竖瘾。我是在windows上使用git GUI來(lái)運(yùn)行的沟突,具體運(yùn)行方式為./test.sh,然后回車就運(yùn)行了這個(gè)test.sh文件捕传。最主要的是shell里沒(méi)有類似php的;似得分界符惠拭,只要換行就是另外的輸出了。

? ? 再來(lái)就是shell中的變量問(wèn)題了庸论,跟php的變量命名規(guī)則差不多职辅,唯一不同的就是不需要使用$開(kāi)頭來(lái)命名變量,但是輸出或者使用變量的時(shí)候必須使用$聂示。具體方式為your_name="alex"(變量命名)域携,echo $your_name。還有就是咱們phper的習(xí)慣是命名時(shí)習(xí)慣性的會(huì)加上空格:$your_name = "alex";催什,但是這是不正確的涵亏,等號(hào)兩邊不能加上空格宰睡,加上就算是常規(guī)性的defined。剛剛開(kāi)始用shell的時(shí)候很多人就經(jīng)常踩進(jìn)這個(gè)坑啦气筋。另拆内,變量還有一種輸出方式:echo "${your_name} is my friend",其主要目的是為了幫助解釋器識(shí)別變量邊界宠默。比較個(gè)性的是我們還可以使用readonly這個(gè)命令來(lái)使我們的變量只具有讀的屬性而不能修改麸恍,看起來(lái)比較高達(dá)上的樣子。我們就可以用unset加變量名的方式來(lái)刪除我們所定義的變量搀矫。接下來(lái)按照php的套路抹沪,我們最后要確定的就是變量的類型,按照官方解釋如下:

運(yùn)行shell時(shí)瓤球,會(huì)同時(shí)存在三種變量:

1) 局部變量 局部變量在腳本或命令中定義融欧,僅在當(dāng)前shell實(shí)例中有效,其他shell啟動(dòng)的程序不能訪問(wèn)局部變量卦羡。

2) 環(huán)境變量 所有的程序噪馏,包括shell啟動(dòng)的程序,都能訪問(wèn)環(huán)境變量绿饵,有些程序需要環(huán)境變量來(lái)保證其正常運(yùn)行欠肾。必要的時(shí)候shell腳本也可以定義環(huán)境變量。

3) shell變量 shell變量是由shell程序設(shè)置的特殊變量拟赊。shell變量中有一部分是環(huán)境變量刺桃,有一部分是局部變量,這些變量保證了shell的正常運(yùn)行

? ? 好的吸祟,然后就到了字符串這塊了瑟慈。其實(shí)不外乎獲取字符串的長(zhǎng)度,截取字符串欢搜,拼接字符串等有限的幾個(gè)方面封豪。在開(kāi)始之前呢,還有一點(diǎn)需要提前說(shuō)明的就是單雙引號(hào)之間的區(qū)別和用途:

單引號(hào)里的任何字符都會(huì)原樣輸出炒瘟,單引號(hào)字符串中的變量是無(wú)效的吹埠;

單引號(hào)字串中不能出現(xiàn)單引號(hào)(對(duì)單引號(hào)使用轉(zhuǎn)義符后也不行)。

雙引號(hào)里可以有變量

雙引號(hào)里可以出現(xiàn)轉(zhuǎn)義字符

? ? 字符串拼接與我們php的樣式略微的有差異疮装,那就是沒(méi)有連接符:

your_name="qinjx"

greeting="hello, "$your_name" !"

greeting_1="hello, ${your_name} !"

echo $greeting $greeting_1

? ? 獲取字符串長(zhǎng)度:

string="abcd"

echo ${#string} #輸出 4

? ? 提取子字符串(以下示例是從字符串第二個(gè)開(kāi)始缘琅,截取四個(gè)字符):

string="runoob is a great site"

echo ${string:1:4} # 輸出 unoo

? ? 字符串查找(以下示例的“`”是Esc鍵下面的那個(gè)):

string="runoob is a great company"

echo `expr index "$string" is`? # 輸出 8

這樣的解釋小編認(rèn)為已經(jīng)很清楚了,對(duì)shell腳本感興趣的朋友廓推,可以從這篇shell基礎(chǔ)篇學(xué)起刷袍,站在一個(gè)小白的角度寫(xiě)的,相信即使是小白樊展,也可以透透徹徹的學(xué)習(xí)呻纹,感覺(jué)不錯(cuò)的朋友可以去小猿圈官網(wǎng)上學(xué)習(xí)一下堆生,希望對(duì)你收獲很大。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末雷酪,一起剝皮案震驚了整個(gè)濱河市淑仆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哥力,老刑警劉巖蔗怠,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異吩跋,居然都是意外死亡寞射,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門锌钮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)桥温,“玉大人,你說(shuō)我怎么就攤上這事梁丘〔咧危” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵兰吟,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我茂翔,道長(zhǎng)混蔼,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任珊燎,我火速辦了婚禮惭嚣,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悔政。我一直安慰自己晚吞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布谋国。 她就那樣靜靜地躺著槽地,像睡著了一般。 火紅的嫁衣襯著肌膚如雪芦瘾。 梳的紋絲不亂的頭發(fā)上捌蚊,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音近弟,去河邊找鬼缅糟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛祷愉,可吹牛的內(nèi)容都是我干的窗宦。 我是一名探鬼主播赦颇,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼赴涵!你這毒婦竟也來(lái)了媒怯?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤句占,失蹤者是張志新(化名)和其女友劉穎沪摄,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體纱烘,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡杨拐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了擂啥。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片哄陶。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖哺壶,靈堂內(nèi)的尸體忽然破棺而出屋吨,到底是詐尸還是另有隱情,我是刑警寧澤山宾,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布至扰,位于F島的核電站,受9級(jí)特大地震影響资锰,放射性物質(zhì)發(fā)生泄漏敢课。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一绷杜、第九天 我趴在偏房一處隱蔽的房頂上張望直秆。 院中可真熱鬧,春花似錦鞭盟、人聲如沸圾结。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)筝野。三九已至,卻和暖如春鹃两,著一層夾襖步出監(jiān)牢的瞬間遗座,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工俊扳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留途蒋,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓馋记,卻偏偏與公主長(zhǎng)得像号坡,于是被迫代替她去往敵國(guó)和親懊烤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

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