成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux的Shell編程 運行Shell程序的方法

系統 Linux
用戶可以用任何編輯程序來編寫Shell程序。因為Shell程序是解釋執行的,所以不需要編譯成目的程序。按照Shell編程的慣例,以 bash為例,程序的第一行一般為“#!/bin/bash”......

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

執行Shell程序的方法有3種。

1.sh Shell程序文件名

這種方法的命令格式為:

bash Shell程序文件名

這實際上是調用一個新的bash命令解釋程序,而把Shell程序文件名作為參數傳遞給它。新啟動的Shell將去讀指定的文件,可執行文件中列出的命令,當所有的命令都執行完后結束。該方法的優點是可以利用Shell調試功能。

2.sh

格式為:

bash< Shell程序名

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

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

一個文件能否運行取決于該文檔的內容本身可執行且該文件具有執行權。對于Shell程序,當用編輯器生成一個文件時,系統賦予的許可權都是644(rw-r-r--),因此,當用戶需要運行這個文件時,只需要直接鍵入文件名即可。

在這3種運行Shell程序的方法中,***按下面的方式選擇:當剛創建一個Shell程序,對它的正確性還沒有把握時,應當使用***種方式進行 調試。當一個Shell程序已經調試好時,應使用第三種方式把它固定下來,以后只要鍵入相應的文件名即可,并可被另一個程序所調用。

4.bash程序的調試

在編程過程中難免會出錯,有的時候,調試程序比編寫程序花費的時間還要多,Shell程序同樣如此。

Shell程序的調試主要是利用bash命令解釋程序的選擇項。調用bash的形式是:

bash -選擇項Shell程序文件名

幾個常用的選擇項是:

-e 如果一個命令失敗就立即退出。

-n 讀入命令但是不執行它們。

-u 置換時把未設置的變量看做出錯。

-v 當讀入Shell輸入行時把它們顯示出來。

-x 執行命令時把命令和它們的參數顯示出來。

上面的所有選項也可以在Shell程序內部用“set -選擇項”的形式引用,而“set +選擇項”則將禁止該選擇項起作用。如果只想對程序的某一部分使用某些選擇項時,則可以將該部分用上面兩個語句包圍起來。

(1)未置變量退出和立即退出

未置變量退出特性允許用戶對所有變量進行檢查,如果引用了一個未賦值的變量就終止Shell程序的執行。Shell通常允許未置變量的使用,在 這種情況下,變量的值為空。如果設置了未置變量退出選擇項,則一旦使用了未置變量就顯示錯誤信息,并終止程序的運行。未置變量退出選擇項為-u。

當Shell運行時,若遇到不存在或不可執行的命令、重定向失敗或命令非正常結束等情況時,如果未經重新定向,該出錯信息會顯示在終端屏幕上, 而Shell程序仍將繼續執行。要想在錯誤發生時迫使Shell程序立即結束,可以使用-e選項將Shell程序的執行立即終止。

(2)Shell程序的跟蹤

調試Shell程序的主要方法是利用Shell命令解釋程序的-v或-x選項來跟蹤程序的執行。-v選擇項使Shell在執行程序的過程中,把 它讀入的每一個命令行都顯示出來,而-x選擇項使Shell在執行程序的過程中把它執行的每一個命令在行首用一個+加上命令名顯示出來。并把每一個變量和 該變量所取的值也顯示出來。因此,它們的主要區別在于:在執行命令行之前無-v,則顯示出命令行的原始內容,而有-v時則顯示出經過替換后的命令行的內 容。

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

【編輯推薦】

  1. linux shell編程if語句內判斷參數
  2. Linux shell編程學習之一:什么是shell
  3. Linux的Shell編程bash的內部命令
責任編輯:趙寧寧 來源: chinaitlab
相關推薦

2009-12-25 09:55:18

LinuxShell編程Shell基本語法

2009-12-25 09:50:14

Linux的Shell編程Shell程序設計

2009-12-25 09:47:05

LinuxShell編程bash

2010-03-05 09:34:01

2014-08-13 14:48:01

LinuxShell腳本

2009-10-23 13:24:20

linux Shell

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運維Linux系統

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

2010-06-23 16:05:36

Linux Bash

2009-12-01 09:17:18

linuxshell編程if語句內

2020-06-17 10:42:54

shellshell腳本Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区中文 | 成人免费在线观看 | 69精品久久久久久 | 亚洲精品视频一区二区三区 | 日本一区二区三区在线观看 | 欧美久久久久久久 | 99福利视频 | 欧美黄色大片在线观看 | 国产麻豆乱码精品一区二区三区 | 亚洲 欧美 另类 日韩 | 精品一区二区三区在线观看 | 色综合视频 | 亚洲毛片 | 亚洲成av人片在线观看无码 | 操久久 | 久久免费视频1 | 日本精品久久久久久久 | 久久久久久久国产 | 日韩综合网 | 麻豆精品国产91久久久久久 | 午夜精品一区二区三区三上悠亚 | 最新免费视频 | 在线成人免费视频 | jlzzjlzz欧美大全 | 精品免费| 国产美女黄色 | 97人人干 | 国产精品久久久久久妇女 | 天天操网 | 精品国产乱码久久久久久影片 | 国产一级视频 | 黄色在线免费观看 | 亚洲欧美一区二区三区在线 | 青青草这里只有精品 | 美女黄网站视频免费 | 久久美国 | 欧美91| 福利片在线观看 | www精品美女久久久tv | jlzzjlzz国产精品久久 | 999免费网站|