自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux的Shell編程 運(yùn)行Shell程序的方法

系統(tǒng) Linux
用戶可以用任何編輯程序來編寫Shell程序。因?yàn)镾hell程序是解釋執(zhí)行的,所以不需要編譯成目的程序。按照Shell編程的慣例,以 bash為例,程序的第一行一般為“#!/bin/bash”......

用戶可以用任何編輯程序來編寫Shell程序。因?yàn)镾hell程序是解釋執(zhí)行的,所以不需要編譯成目的程序。按照Shell編程的慣例,以 bash為例,程序的***行一般為“#!/bin/bash”,其中 # 表示該行是注釋,嘆號(hào) ! 告訴Shell運(yùn)行嘆號(hào)之后的命令并用文檔的其余部分作為輸入,也就是運(yùn)行/bin/bash并讓/bin/bash去執(zhí)行Shell程序的內(nèi)容。

執(zhí)行Shell程序的方法有3種。

1.sh Shell程序文件名

這種方法的命令格式為:

bash Shell程序文件名

這實(shí)際上是調(diào)用一個(gè)新的bash命令解釋程序,而把Shell程序文件名作為參數(shù)傳遞給它。新啟動(dòng)的Shell將去讀指定的文件,可執(zhí)行文件中列出的命令,當(dāng)所有的命令都執(zhí)行完后結(jié)束。該方法的優(yōu)點(diǎn)是可以利用Shell調(diào)試功能。

2.sh

格式為:

bash< Shell程序名

這種方式就是利用輸入重定向,使Shell命令解釋程序的輸入取自指定的程序文件。

3.用chmod命令使Shell程序成為可執(zhí)行的

一個(gè)文件能否運(yùn)行取決于該文檔的內(nèi)容本身可執(zhí)行且該文件具有執(zhí)行權(quán)。對(duì)于Shell程序,當(dāng)用編輯器生成一個(gè)文件時(shí),系統(tǒng)賦予的許可權(quán)都是644(rw-r-r--),因此,當(dāng)用戶需要運(yùn)行這個(gè)文件時(shí),只需要直接鍵入文件名即可。

在這3種運(yùn)行Shell程序的方法中,***按下面的方式選擇:當(dāng)剛創(chuàng)建一個(gè)Shell程序,對(duì)它的正確性還沒有把握時(shí),應(yīng)當(dāng)使用***種方式進(jìn)行 調(diào)試。當(dāng)一個(gè)Shell程序已經(jīng)調(diào)試好時(shí),應(yīng)使用第三種方式把它固定下來,以后只要鍵入相應(yīng)的文件名即可,并可被另一個(gè)程序所調(diào)用。

4.bash程序的調(diào)試

在編程過程中難免會(huì)出錯(cuò),有的時(shí)候,調(diào)試程序比編寫程序花費(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í)把它們顯示出來。

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

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

(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)來跟蹤程序的執(zhí)行。-v選擇項(xiàng)使Shell在執(zhí)行程序的過程中,把 它讀入的每一個(gè)命令行都顯示出來,而-x選擇項(xiàng)使Shell在執(zhí)行程序的過程中把它執(zhí)行的每一個(gè)命令在行首用一個(gè)+加上命令名顯示出來。并把每一個(gè)變量和 該變量所取的值也顯示出來。因此,它們的主要區(qū)別在于:在執(zhí)行命令行之前無(wú)-v,則顯示出命令行的原始內(nèi)容,而有-v時(shí)則顯示出經(jīng)過替換后的命令行的內(nèi) 容。

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

【編輯推薦】

  1. linux shell編程if語(yǔ)句內(nèi)判斷參數(shù)
  2. Linux shell編程學(xué)習(xí)之一:什么是shell
  3. Linux的Shell編程bash的內(nèi)部命令
責(zé)任編輯:趙寧寧 來源: chinaitlab
相關(guān)推薦

2009-12-25 09:50:14

Linux的Shell編程Shell程序設(shè)計(jì)

2009-12-25 09:55:18

LinuxShell編程Shell基本語(yǔ)法

2009-12-25 09:47:05

LinuxShell編程bash

2010-03-05 09:34:01

2009-10-23 13:24:20

linux Shell

2014-08-13 14:48:01

LinuxShell腳本

2023-09-04 16:55:18

2011-09-27 13:52:41

2014-07-31 12:07:15

Linux

2021-05-28 11:47:43

Linux運(yùn)維Linux系統(tǒng)

2009-12-18 09:54:10

Linux Shell

2009-12-18 08:57:27

Linux shell

2009-10-23 13:44:03

linux Shell

2022-03-29 09:33:34

LinuxShell命令

2020-12-15 09:08:40

LinuxShell

2012-01-18 10:46:33

ibmdw

2009-12-25 15:41:10

Linux shell

2009-12-01 09:17:18

linuxshell編程if語(yǔ)句內(nèi)

2010-06-23 16:05:36

Linux Bash

2020-06-17 10:42:54

shellshell腳本Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)