亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發(fā) > Linux Shell > 正文

BASH 學習筆記小結(jié)

2020-07-27 19:27:16
字體:
供稿:網(wǎng)友
1. Linux 腳本編寫基礎(chǔ)

1.1 語法基本介紹

1.1.1 開頭

程序必須以下面的行開始(必須方在文件的第一行):

#!/bin/sh

符號#!用來告訴系統(tǒng)它后面的參數(shù)是用來執(zhí)行該文件的程序。在這個例子中我們使用/bin/sh來執(zhí)行程序。

當編輯好腳本時,如果要執(zhí)行該腳本,還必須使其可執(zhí)行。

要使腳本可執(zhí)行:

編譯 chmod +x filename 這樣才能用./filename 來運行

1.1.2 注釋

在進行shell編程時,以#開頭的句子表示注釋,直到這一行的結(jié)束。我們真誠地建議您在程序中使用注釋。如果您使用了注釋,那么即使相當長的時間內(nèi)沒有使用該腳本,您也能在很短的時間內(nèi)明白該腳本的作用及工作原理。

1.1.3 變量

在其他編程語言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,并且您不需要對變量進行聲明。要賦值給一個變量,您可以這樣寫:

#!/bin/sh

#對變量賦值:注意,等號兩邊不應有空格

a="hello world"

# 現(xiàn)在打印變量a的內(nèi)容:

echo "A is:"

echo $a

有時候變量名很容易與其他文字混淆,比如:

num=2

echo "this is the $numnd"

這并不會打印出"this is the 2nd",而僅僅打印"this is the ",因為shell會去搜索變量numnd的值,但是這個變量時沒有值的??梢允褂没ɡㄌ杹砀嬖Vshell我們要打印的是num變量:

num=2

echo "this is the ${num}nd"

#這將打印: this is the 2nd ,BASH 中變量定義是不需要的,沒有 "int i" 這樣的定義過程。如果想用一個變量,只要他沒有在前面被定義過,就直接可以用,當然你使用該變量的第一條語句應該是對他賦初值了,如果你不賦初值也沒關(guān)系,只不過該變量是空(注意:是 NULL,不是 0 )。大括號的作用,與雙引號的區(qū)別:大括號,雙引號使不能擴展,雙引號不能阻止變量的擴展,只能阻止通配符*的擴展,后文有詳細解釋。

關(guān)于變量的使用,要注意以下幾點:
一,變量賦值時,“=”左右兩邊都不能有空格;
二,BASH 中的語句結(jié)尾不需要分號(";");
三,除了在變量賦值和在FOR循環(huán)語句頭中,BASH 中的變量使用必須在變量前加"$"符號。

在比較詳細的 bash 文檔中,會規(guī)定使用變量要采用這樣的形式:${STR},如果你的腳本出了莫名其妙的錯誤,不妨看看是不是這個問題造成的。

BASH 中的變量既然不需要定義,也就沒有類型一說,那是不是一個變量既可以存放整數(shù),也可以存放字符串呢?對!
一個變量即可以被定義為一個字符串,也可以被再定義為整數(shù)。如果對該變量進行整數(shù)運算,他就被解釋為整數(shù);如果對他進行字符串操作,他就被看作為一個字符串。請看下面的例子:

#!/bin/bash
x=2006
let "x = $x + 1"
echo $x
x="a string."
echo $x

執(zhí)行一下看看?又出現(xiàn)了新的關(guān)鍵字:let。關(guān)于整數(shù)變量計算,有如下幾種:" + - * / % ",他們的意思和字面意思相同,在*和/之前必須冠以反斜線,已防被SHELL先行解釋。整數(shù)運算一般通過 let 和 expr 這兩個指令來實現(xiàn),如對變量 x 加 1 可以寫作:let "x = $x + 1" 或者 x=`expr $x + 1`

關(guān)于運行時參數(shù),我們在執(zhí)行腳本時有時很想傳個參數(shù)進去,如:#sh mysh.sh hdz(回車)好,很簡單,在 bash 中,使用這樣傳進來的變量時也要在前面加“$”符號。

$# 傳入腳本的命令行參數(shù)個數(shù);

$* 所有命令行參數(shù)值,在各個參數(shù)值之間留有空格;

位置變元

$0 命令本身(shell文件名)

$1 第一個命令行參數(shù);

$2 第二個命令行參數(shù);

...

好,編輯以下腳本:
#!/bin/sh

echo "number of vars:"$#

echo "values of vars:"$*

echo "value of var1:"$1
echo "value of var2:"$2
echo "value of var3:"$3
echo "value of var4:"$4

保存文件名為 my.sh,執(zhí)行時傳入?yún)?shù):#sh my.sh a b c d e(回車),看到結(jié)果你就會更清楚各個變量的意思。如果訪問的參數(shù)在執(zhí)行時沒有傳入,如有一條這樣的代碼:
echo "value of var4:"$100

而在執(zhí)行時并沒有輸入100個參數(shù),那取得的值為 NULL

在 BASH 程序中如果一個變量被使用了,那么直到該程序的結(jié)尾,該變量都一直有效。為了使得某個變量存在于一個局部程序塊中,就引入了局部變量的概念。BASH 中,在變量首次被賦初值時加上 local 關(guān)鍵字就可以聲明一個局部變量,如下面這個例子:

#!/bin/bash
HELLO="var1"
echo $HELLO
function hello {
local HELLO="var2"
echo $HELLO
}

echo $HELLO

該程序的執(zhí)行結(jié)果是:

var1
var2
var1

這個執(zhí)行結(jié)果表明全局變量 $HELLO 的值在執(zhí)行函數(shù) hello 時并沒有被改變。也就是說局部變量 $HELLO 的影響只存在于函數(shù)那個程序塊中。

BASH 中的變量與 C 語言中變量的區(qū)別
這里我們?yōu)樵瓉聿皇煜?BASH 編程,但是非常熟悉 C 語言的程序員總結(jié)一下在 BASH 環(huán)境中使用變量需要注意的問題。

1,BASH 中的變量在引用時都需要在變量前加上 "$" 符號( 第一次賦值及在For循環(huán)的頭部不用加 "$"符號 );
2,BASH 中沒有浮點運算,因此也就沒有浮點類型的變量可用;
3,BASH 中的整形變量的比較符號與 C 語言中完全不同,而且整形變量的算術(shù)運算也需要經(jīng)過 let 或 expr 語句來處理;

1.1.4 環(huán)境變量

由export關(guān)鍵字處理過的變量叫做環(huán)境變量。我們不對環(huán)境變量進行討論,因為通常情況下僅僅在登錄腳本中使用環(huán)境變量。

1.1.5 Shell命令和流程控制

在shell腳本中可以使用三類命令:

1)Unix 命令:

雖然在shell腳本中可以使用任意的unix命令,但是還是由一些相對更常用的命令。這些命令通常是用來進行文件和文字操作的。

常用命令語法及功能

echo "some text": 將文字內(nèi)容打印在屏幕上

ls: 文件列表

wc 成人性a激情免费视频| 欧美人与性囗牲恔配| 亚洲精品护士| 天堂va欧美va亚洲va老司机| 美国十次综合久久| 五月激情久久| 91啦中文成人| 中文字幕av中文字幕| 18av.com视频| 国产性猛交普通话对白| 人人干人人看| 欧美成人免费一级人片100| 色噜噜狠狠狠综合曰曰曰88av| 风间由美性色一区二区三区四区| 在线亚洲+欧美+日本专区| 国产高清一区在线观看| 伊人精品在线| 国产91免费看片| 欧美一区在线直播| 刘亦菲毛片一区二区三区| 国产女主播喷水高潮网红在线| 午夜精品久久久久久久男人的天堂| 中文字幕 视频一区| 美腿丝袜亚洲图片| 国产精品免费久久久| 国产精品99久久久久久www| 成人不用播放器| 热re久久精品国产99热| 啦啦啦免费高清视频在线观看| 另类亚洲自拍| 国产日韩欧美91| 欧美性xxxx交| 日本一区二区在线免费观看| 日韩人妻精品中文字幕| 久久久国产精华液999999| 亚洲第一中文字幕| 亚洲福利精品在线| fc2ppv完全颜出在线播放| 欧美综合欧美视频| 国产一区二区三区免费看| 97中文在线观看| 欧美一区二区视频在线观看2020| 亚洲精品色图| 毛片电影在线| 久久精品视频在线播放| 亚洲一区二区三区在线观看网站| 久久香蕉综合色一综合色88| 久久久精品网| 日韩高清免费av| 天天看片天天操| 亚洲成av人片在线观看无码| 婷婷免费在线视频| 中文在线天堂网www| 欧美一区二区三| 国产专区在线播放| 国偷自产av一区二区三区麻豆| 亚洲视频手机在线观看| 添女人荫蒂视频| 中文在线最新版地址| 色综合天天色综合| 亚洲精品人人| 日韩免费精品视频| 天堂网一区二区| 亚洲天堂手机在线| 久久午夜鲁丝片午夜精品| 视频在线这里都是精品| 欧美美女网站色| 国产精品欧美大片| 久久久精品免费观看| 99蜜桃在线观看免费视频网站| 精品久久久久久久人人人人传媒| 国产伦精品一区二区三区精品| 婷婷精品国产一区二区三区日韩| 亚洲精品欧美极品| 超碰在线网站| 九色精品国产蝌蚪| 久久久久久国产精品三级玉女聊斋| 福利片一区二区三区| 爱爱爱免费视频在线观看| 69影院欧美专区视频| eeuss影院www在线| 91视频国产资源| 日本成年免费网站| 欧美婷婷六月丁香综合色| 久久久久免费网站| 亚洲av无码专区在线| av福利导福航大全在线| 毛片网站在线免费观看| yjizz视频网站在线播放| 国产99对白在线播放| 日韩精品123区| 亚洲最好看的视频| 亚洲一区中文字幕| 三日本三级少妇三级99| 四季av综合网站| 性欧美长视频免费观看不卡| 亚洲成人av在线影院| 牛牛在线精品视频| 99久久一区三区四区免费| 日韩美女视频一区二区| 国产精品资源| 黄色网址在线视频| 四虎av在线| 免费精品视频| av男人天堂网| 亚洲无人区码一码二码三码| 蜜桃av在线| 一区二区三区日韩在线| 116极品美女视频在线观看| 精品久久久久久国产| 国产激情视频网址| 免费激情小视频| 亚洲免费一区二区| 精品免费国产| 久久国产精品波多野结衣av| 国产私人尤物无码不卡| 精品72久久久久中文字幕| 亚洲国产精久久久久久| 麻豆一区二区三区四区精品蜜桃| 国产精品一区二区在线观看网站| 国产精品影院在线| 一卡二卡3卡四卡高清精品视频| 国产乱论精品| 精品成人一区二区三区四区| 亚洲午夜电影在线观看| 日本少妇一级片| 丰满人妻中伦妇伦精品app| 日韩免费一级视频| h视频在线免费看| 精品小视频在线观看| 欧美午夜女人视频在线| 免费吸乳羞羞网站视频| 日韩av免费一区| 男人添女人下部高潮视频在观看| 亚洲最新av网站| 国产免费黄视频在线观看| 婷婷国产v国产偷v亚洲高清| 日韩av免费| 国产乱码精品一区二区亚洲| 国产精品丝袜久久久久久消防器材| 亚洲欧洲久久久| 男女下面一进一出无遮挡| 韩国精品福利一区二区三区| 97精品国产一区二区三区| 欧美一级高清免费播放| 久久久久亚洲精品一区二区三区| 韩日av一区二区| 国产蜜臀av在线播放| 成年人在线网站| 日韩aⅴ视频一区二区三区| 精品对白一区国产伦| 成人动漫视频在线观看完整版| 中文字幕日产av| 一二三四视频在线社区中文字幕2| 国产又粗又爽又黄的视频| 亚洲成人在线视频网站| 成人亚洲精品| 少妇丰满尤物大尺度写真| 先锋影音av网站| av色男福利网| 国产丝袜视频在线播放| 日本综合视频| 视频区小说区图片区| 成人在线视频www| 99热在线免费播放| 日韩欧美视频网站| 国产一区啦啦啦在线观看| 精品国产精品一区二区夜夜嗨| 欧美一级本道电影免费专区| 日韩一区二区三区免费视频| www.在线视频.com| 96精品视频在线| 九九热99视频| 久久精品免费在线观看| 香蕉在线观看视频| 国产精品青草久久| 97色成人综合网站| 免费人成a大片在线观看动漫| 黄网站免费久久| 日本在线播放不卡| 欧美久久久网站| 91影院在线播放| 777精品视频| 国内自拍视频在线播放| 91最新在线观看| 亚洲精品免费播放| 国产精品视频99| 日本一区二区黄色| 日韩欧美在线观看强乱免费| 国产黄色av片| 人妻无码一区二区三区| 在线免费看污| 看片网站在线观看| 黄色影院在线观看| 日韩黄色在线视频| www.555国产精品免费| 菠萝蜜视频网站入口| 久久久亚洲精选| 久久伊人成人网| 国产精品久久二区| 成人av在线观| 美女久久久久久久久久| 色片在线免费观看| 日韩一区二区三区精品视频第3页| 亚洲电影一区| 免费观看在线综合| 中文字幕免费不卡在线| 国产精品国色综合久久| 亚洲啪av永久无码精品放毛片| 亚洲精品在线免费| 欧美三级电影网| 亚洲日本久久| 久久久久午夜电影| 亚洲欧洲日产国产综合网| av一区在线播放| 久久久久久免费看| 全球成人免费直播| 午夜福利一区二区三区| 欧美日韩亚洲一区| 久久午夜电影网| 亚洲av人无码激艳猛片服务器| 亚洲动漫精品| 激情久久中文字幕| 成人免费观看www在线| 黑人巨茎大战欧美白妇| 中文在线视频观看| 亚洲 日韩 国产第一区| 国产美女精品久久| 亚洲图片欧美午夜| 涩涩涩视频在线观看| 国产欧美一区二区在线播放| 看片网址国产福利av中文字幕| 久久久久久久久网| 国产精品成人国产乱| 亚洲欧美国产毛片在线| 国产精品爽黄69天堂a| 一区二区三区久久| 国产精品88久久久久久妇女| 97久久精品人人做人人爽50路| 97热精品视频官网| 91精品国产调教在线观看| 国产免费裸体视频| 国产一级片免费| 中文字幕自拍偷拍| 日韩欧美精品在线视频| 国产又黄又大又粗的视频| 国产成人精品免费视频大全软件| 国产91精品久久久久久| 蜜桃专区在线| 欧美日韩在线观看一区| 666av成人影院在线观看| 在线观看爽视频| 亚洲三级视频| 五月婷婷综合激情| 免费福利视频网站| 亚洲在线电影| chinese叫床对白videos| 99久免费精品视频在线观78| 情趣视频在线观看| 精品人体无码一区二区三区| 国产一区二区三区在线观看网站| 亚洲国产精彩中文乱码av| 亚洲色成人www永久在线观看| 先锋影音欧美| 欧美国产在线电影| 91av视频| 国产精品一区免费视频| 91在线观看免费观看| 欧美成人国产精品高潮| 性欧美videos粗暴| 香蕉视频免费在线| 色老板亚洲精品一区| 中文字幕一区二区三区精彩视频| 777午夜精品福利在线观看| 国产一区二三区好的| 美丽的姑娘在线观看免费动漫| 久久久久久久久久久久久女过产乱| 97超碰在线免费| 国产精久久久久久| 米奇四色影视| 国产一区二区三区在线免费观看| 在线免费亚洲电影| 亚洲欧美制服中文字幕| 国产成人精品实拍在线| 午夜欧美性电影| 九九热精品视频在线| 四虎国产精品成人免费4hu| 久久中文字幕免费| 欧美日韩成人在线一区| 国产欧美精品久久| 国产美女精品视频免费观看| 热re99久久精品国产66热| 国产欧美精品va在线观看| 性色88av老女人视频| 欧美少妇xxx| 欧美午夜久久久| 国产精品久久久久久69| 黄色成年人视频在线观看| 亚洲大片免费看| 91极品尤物在线播放国产| 欧美13videosex性极品| 久久久久久无码午夜精品直播| 欧美人与性动xxxx| www怡红院| 乱人伦精品视频在线观看| 99久久伊人精品影院| 国产精品69一区二区三区| 国产极品精品在线观看| 欧美日本一道| 午夜精品美女自拍福到在线| 欧美日韩激情在线观看| 亚洲一本视频| 国模杨依粉嫩蝴蝶150p| 最新电影电视剧在线观看免费观看| 在线观看福利电影| 在线精品视频视频中文字幕| 99精彩视频在线观看免费| 领导边摸边吃奶边做爽在线观看| 日韩一级免费一区| 无码国产69精品久久久久网站| 亚洲国产成人无码av在线| 国产黄色片在线观看| 久久午夜激情| 在线观看91精品国产麻豆| 亚洲激情五月| www久久com| 日本亚洲视频在线| 中文字幕在线乱|