久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Linux bash程序的調(diào)試技巧有哪些

共計(jì) 2185 個(gè)字符,預(yù)計(jì)需要花費(fèi) 6 分鐘才能閱讀完成。

這篇文章主要介紹“Linux bash 程序的調(diào)試技巧有哪些”,在日常操作中,相信很多人在 Linux bash 程序的調(diào)試技巧有哪些問(wèn)題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Linux bash 程序的調(diào)試技巧有哪些”的疑惑有所幫助!接下來(lái),請(qǐng)跟著丸趣 TV 小編一起來(lái)學(xué)習(xí)吧!

Linux bash 程序的調(diào)試

在編程過(guò)程中難免會(huì)出錯(cuò),有的時(shí)候,調(diào)試程序比編寫(xiě)程序花費(fèi)的時(shí)間還要多,shell 程序同樣如此。

shell 程序的調(diào)試主要是利用 bash 命令解釋程序的選擇項(xiàng)。調(diào)用 bash 的形式是:

bash - 選擇項(xiàng) shell 程序文件名

幾個(gè)常用的選擇項(xiàng)是:

-e:如果一個(gè)命令失敗就立即退出

-n:讀入命令但是不執(zhí)行它們

-u:置換時(shí)把未設(shè)置的變量看作出錯(cuò)

-v:當(dāng)讀入 shell 輸入行時(shí)把它們顯示出來(lái)

-x:執(zhí)行命令時(shí)把命令和它們的參數(shù)顯示出來(lái)

上面的所有選項(xiàng)也可以在 shell 程序內(nèi)部用“set - 選擇項(xiàng)”的形式引用,而“set + 選擇項(xiàng)”則將禁止該選擇項(xiàng)起作用。如果只想對(duì)程序的某一部分使用某些選擇項(xiàng)時(shí),則可以將該部分用上面兩個(gè)語(yǔ)句包圍起來(lái)。

1. 未置變量退出和立即退出

未置變量退出特性允許用戶對(duì)所有變量進(jìn)行檢查,如果引用了一個(gè)未賦值的變量就終止 shell 程序的執(zhí)行。shell 通常允許未置變量的使用,在這種情況下,變量的值為空。如果設(shè)置了未置變量退出選擇項(xiàng),則一旦使用了未置變量就顯示錯(cuò)誤信息,并終止程序的運(yùn)行。未置變量退出選擇項(xiàng)為“-u”。

當(dāng) shell 運(yùn)行時(shí),若遇到不存在或不可執(zhí)行的命令、重定向失敗或命令非正常結(jié)束等情況時(shí),如果未經(jīng)重新定向,該出錯(cuò)信息會(huì)打印在終端屏幕上,而 shell 程序仍將繼續(xù)執(zhí)行。要想在錯(cuò)誤發(fā)生時(shí)迫使 shell 程序立即結(jié)束,可以使用“-e”選項(xiàng)將 shell 程序的執(zhí)行立即終止。

2.shell 程序的跟蹤

調(diào)試 shell 程序的主要方法是利用 shell 命令解釋程序的“-v”或“-x”選項(xiàng)來(lái)跟蹤程序的執(zhí)行。“-v”選擇項(xiàng)使 shell 在執(zhí)行程序的過(guò)程中,把它讀入的每一個(gè)命令行都顯示出來(lái),而“-x”選擇項(xiàng)使 shell 在執(zhí)行程序的過(guò)程中把它執(zhí)行的每一個(gè)命令在行首用一個(gè)“+”加上命令名顯示出來(lái)。并把每一個(gè)變量和該變量所取的值也顯示出來(lái),因此,它們的主要區(qū)別在于:在執(zhí)行命令行之前無(wú)“-v”則打印出命令行的原始內(nèi)容,而有“-v”則打印出經(jīng)過(guò)替換后的命令行的內(nèi)容。

除了使用 shell 的“-v”和“-x”選擇項(xiàng)以外,還可以在 shell 程序內(nèi)部采取一些輔助調(diào)試的措施。例如,可以在 shell 程序的一些關(guān)鍵地方使用 echo 命令把必要的信息顯示出來(lái),它的作用相當(dāng)于 C 語(yǔ)言中的 printf 語(yǔ)句,這樣就可以知道程序運(yùn)行到什么地方及程序目前的狀態(tài)。

Linux bash 程序的內(nèi)部命令

Linux bash 程序解釋程序包含了一些內(nèi)部命令。內(nèi)部命令在目錄列表時(shí)是看不見(jiàn)的,它們由 shell 本身提供。常用的內(nèi)部命令有:echo、eval、exec、export、readonly、read、shift、wait 和點(diǎn) (.)。下面簡(jiǎn)單介紹其命令格式和功能。

1.echo

命令格式:echo arg

功能:在屏幕上打印出由 arg 指定的字符串。

2.eval

命令格式:eval args

功能:當(dāng) shell 程序執(zhí)行到 eval 語(yǔ)句時(shí),shell 讀入?yún)?shù) args,并將它們組合成一個(gè)新的命令,然后執(zhí)行。

3.exec

命令格式:exec 命令 命令參數(shù)

功能:當(dāng) shell 執(zhí)行到 exec 語(yǔ)句時(shí),不會(huì)去創(chuàng)建新的子進(jìn)程,而是轉(zhuǎn)去執(zhí)行指定的命令,當(dāng)指定的命令執(zhí)行完時(shí),該進(jìn)程,也就是最初的 shell 就終止了,所以 shell 程序中 exec 后面的語(yǔ)句將不再被執(zhí)行。

4.export

命令格式:export 變量名 或:export 變量名 = 變量值

功能:shell 可以用 export 把它的變量向下帶入子 shell 從而讓子進(jìn)程繼承父進(jìn)程中的環(huán)境變量。但子 shell 不能用 export 把它的變量向上帶入父 shell。

注意:不帶任何變量名的 export 語(yǔ)句將顯示出當(dāng)前所有的 export 變量。

5.readonly

命令格式:readonly 變量名

功能:將一個(gè)用戶定義的 shell 變量標(biāo)識(shí)為不可變的。不帶任何參數(shù)的 readonly 命令將顯示出所有只讀的 shell 變量。

6.read

命令格式:

read 變量名表

功能:從標(biāo)準(zhǔn)輸入設(shè)備讀入一行,分解成若干字,賦值給 shell 程序內(nèi)部定義的變量。

7.shift 語(yǔ)句

功能:shift 語(yǔ)句按如下方式重新命名所有的位置參數(shù)變量:成為,成為 hellip; hellip; 在程序中每使用一次 shift 語(yǔ)句,都使所有的位置參數(shù)依次向左移動(dòng)一個(gè)位置,并使位置參數(shù)“$#”減一,直到減到 0。

8.wait

功能:是 shell 等待在后臺(tái)啟動(dòng)的所有子進(jìn)程結(jié)束。Wait 的返回值總是真。

9.exit

功能:退出 shell 程序。在 exit 之后可有選擇地指定一個(gè)數(shù)字作為返回狀態(tài)。

10.“.”(點(diǎn))

命令格式:. Shell 程序文件名

功能:使 shell 讀入指定的 shell 程序文件并依次執(zhí)行文件中的所有語(yǔ)句。

到此,關(guān)于“Linux bash 程序的調(diào)試技巧有哪些”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注丸趣 TV 網(wǎng)站,丸趣 TV 小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-08-16發(fā)表,共計(jì)2185字。
轉(zhuǎn)載說(shuō)明:除特殊說(shuō)明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請(qǐng)注明出處。
評(píng)論(沒(méi)有評(píng)論)
主站蜘蛛池模板: 保山市| 新民市| 绿春县| 来安县| 区。| 华宁县| 恭城| 福州市| 广灵县| 兴业县| 青州市| 广昌县| 济阳县| 辛集市| 盐源县| 砀山县| 昌都县| 苏尼特左旗| 吴忠市| 黎城县| 巴中市| 河曲县| 通城县| 察雅县| 麦盖提县| 温州市| 河源市| 府谷县| 军事| 涞水县| 淮北市| 涪陵区| 长海县| 邢台县| 五家渠市| 车险| 天峻县| 黔西县| 舞阳县| 讷河市| 旬阳县|