国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

Linux Shell 腳本編程入門教程

2019-10-26 18:47:39
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

從程序員的角度來(lái)看, Shell本身是一種用C語(yǔ)言編寫的程序,從用戶的角度來(lái)看,Shell是用戶與Linux操作系統(tǒng)溝通的橋梁。用戶既可以輸入命令執(zhí)行,又可以利用 Shell腳本編程,完成更加復(fù)雜的操作。在Linux GUI日益完善的今天,在系統(tǒng)管理等領(lǐng)域,Shell編程仍然起著不可忽視的作用。深入地了解和熟練地掌握Shell編程,是每一個(gè)Linux用戶的必修 功課之一。

Linux的Shell種類眾多,常見(jiàn)的有:Bourne Shell(/usr/bin/sh或/bin/sh)、Bourne Again Shell(/bin/bash)、C Shell(/usr/bin/csh)、K Shell(/usr/bin/ksh)、Shell for Root(/sbin/sh),等等。不同的Shell語(yǔ)言的語(yǔ)法有所不同,所以不能交換使用。每種Shell都有其特色之處,基本上,掌握其中任何一種 就足夠了。在本文中,我們關(guān)注的重點(diǎn)是Bash,也就是Bourne Again Shell,由于易用和免費(fèi),Bash在日常工作中被廣泛使用;同時(shí),Bash也是大多數(shù)Linux系統(tǒng)默認(rèn)的Shell。在一般情況下,人們并不區(qū)分 Bourne Shell和Bourne Again Shell,所以,在下面的文字中,我們可以看到#!/bin/sh,它同樣也可以改為#!/bin/bash。

利用vi等文本編輯器編寫Shell腳本的格式是固定的,如下:

#!/bin/sh#commentsYour commands go here

首行中的符號(hào)#!告訴系統(tǒng)其后路徑所指定的程序即是解釋此腳本文件的Shell程 序。如果首行沒(méi)有這句話,在執(zhí)行腳本文件的時(shí)候,將會(huì)出現(xiàn)錯(cuò)誤。后續(xù)的部分就是主程序,Shell腳本像高級(jí)語(yǔ)言一樣,也有變量賦值,也有控制語(yǔ)句。除第 一行外,以#開(kāi)頭的行就是注釋行,直到此行的結(jié)束。如果一行未完成,可以在行尾加上",這個(gè)符號(hào)表明下一行與此行會(huì)合并為同一行。

編輯完畢,將腳本存盤為filename.sh,文件名后綴sh表明這是一個(gè)Bash腳本文件。執(zhí)行腳本的時(shí)候,要先將腳本文件的屬性改為可執(zhí)行的:

chmod +x filename.sh

執(zhí)行腳本的方法是:

./filename.sh

下面我們從經(jīng)典的“hello world”入手,看一看最簡(jiǎn)單的Shell腳本的模樣。

#!/bin/sh#print hello world in the console windowa = "hello world"echo $a

Shell Script是一種弱類型語(yǔ)言,使用變量的時(shí)候無(wú)需首先聲明其類型。新的變量會(huì)在本地?cái)?shù)據(jù)區(qū)分配內(nèi)存進(jìn)行存儲(chǔ),這個(gè)變量歸當(dāng)前的Shell所有,任何子進(jìn) 程都不能訪問(wèn)本地變量。這些變量與環(huán)境變量不同,環(huán)境變量被存儲(chǔ)在另一內(nèi)存區(qū),叫做用戶環(huán)境區(qū),這塊內(nèi)存中的變量可以被子進(jìn)程訪問(wèn)。變量賦值的方式是:

variable_name = variable_value

如果對(duì)一個(gè)已經(jīng)有值的變量賦值,新值將取代舊值。取值的時(shí)候要在變量名前加$,$variable_name可以在引號(hào)中使用,這一點(diǎn)和其他高級(jí)語(yǔ)言是明顯不同的。如果出現(xiàn)混淆的情況,可以使用花括號(hào)來(lái)區(qū)分,例如:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 仁化县| 临泉县| 饶阳县| 玉环县| 诸城市| 卫辉市| 闽清县| 宁明县| 济南市| 扎兰屯市| 缙云县| 大安市| 沁源县| 榕江县| 互助| 吴堡县| 八宿县| 龙海市| 英德市| 德庆县| 准格尔旗| 四川省| 嘉善县| 临邑县| 贵州省| 临江市| 曲靖市| 尖扎县| 乃东县| 钦州市| 资源县| 牡丹江市| 山丹县| 孟村| 江油市| 同德县| 济源市| 吉首市| 松阳县| 旬阳县| 蒲江县|