Linux Shell程式設計(2)——第一個shell程式
在最簡單的情況下,指令碼程式不過是儲存在一個檔案裡的系統命令列表。這至少讓你執行它 時不必重新按順序鍵入相同功能的命令序列。
一個清空/var/log目錄下的日誌檔案的指令碼
這沒有什麼不同尋常的,它不過是一組可以容易地從控制檯或xterm(譯者注:一種圖形虛擬控制檯). )中順序鍵入的命令集。用一種指令碼代替這組命令的用處是使你不必每次執行相同任務時都重複地順序鍵入它們。指令碼變成了一個工具, 並且它也很容易地在一個實際專案被修改或者定製。
一個改進版的cleanup指令碼
在指令碼開頭的 sha-bang ( #!) 是告訴系統這個檔案是由特定命令直譯器解釋的一組命令。 那個 #! 實際上是兩個位元組的魔數, 魔數是指定檔案型別的特殊記號,在此是表示這是一個可執行的shell指令碼(鍵入 man magic可瞭解更多的資訊)。緊跟著#!的是一個路徑名.這個路徑名是解釋這個指令碼內命令的命令直譯器程式的路徑:可能是一個shell,也可能是一個程式語言或者是一個軟體包程式。這個命令直譯器能執行指令碼內的命令語句。它從指令碼開頭(即從#!所在行的下一行)起執行,但是忽略註釋行。
一個清空/var/log目錄下的日誌檔案的指令碼
# Cleanup
# 必須以root使用者執行.
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp
echo "Logs cleaned up."
這沒有什麼不同尋常的,它不過是一組可以容易地從控制檯或xterm(譯者注:一種圖形虛擬控制檯). )中順序鍵入的命令集。用一種指令碼代替這組命令的用處是使你不必每次執行相同任務時都重複地順序鍵入它們。指令碼變成了一個工具, 並且它也很容易地在一個實際專案被修改或者定製。
一個改進版的cleanup指令碼
#!/bin/bash
# Bash指令碼正確的頭部.
# Cleanup, 版本 2
# 需要以root執行.
# 如果不是root使用者,在此處新增錯誤資訊列印程式碼和退出程式碼.
LOG_DIR=/var/log
# 使用變數比使用硬編碼(hard-coded)更好。
cd $LOG_DIR
cat /dev/null > messages
cat /dev/null > wtmp
echo "Logs cleaned up."
exit # 這是從一個指令碼中退出正確合適的方法
在指令碼開頭的 sha-bang ( #!) 是告訴系統這個檔案是由特定命令直譯器解釋的一組命令。 那個 #! 實際上是兩個位元組的魔數, 魔數是指定檔案型別的特殊記號,在此是表示這是一個可執行的shell指令碼(鍵入 man magic可瞭解更多的資訊)。緊跟著#!的是一個路徑名.這個路徑名是解釋這個指令碼內命令的命令直譯器程式的路徑:可能是一個shell,也可能是一個程式語言或者是一個軟體包程式。這個命令直譯器能執行指令碼內的命令語句。它從指令碼開頭(即從#!所在行的下一行)起執行,但是忽略註釋行。
相關文章
- Linux Shell程式設計(2)Linux程式設計
- Linux Shell 之 我的第一個Shell程式Linux
- Linux Shell程式設計(1)——shell程式設計簡介Linux程式設計
- Linux Shell程式設計(27)——子shellLinux程式設計
- linux shell 程式設計Linux程式設計
- linux shell程式設計Linux程式設計
- 第一個shell程式設計,輸出hello world!程式設計
- Linux之shell程式設計Linux程式設計
- Linux Shell程式設計(1)Linux程式設計
- Linux Shell程式設計(4)——shell特殊字元(上)Linux程式設計字元
- Linux Shell程式設計(5)——shell特殊字元(下)Linux程式設計字元
- Linux 程式設計之Shell程式設計(轉)Linux程式設計
- Shell程式設計 --- Shell介紹程式設計
- Shell程式設計程式設計
- Linux Shell程式設計(3)——執行shell指令碼Linux程式設計指令碼
- linux下的SHELL程式設計Linux程式設計
- Linux Shell程式設計(28)——程式替換Linux程式設計
- Shell程式設計-shell變數1程式設計變數
- Bourne Shell及shell程式設計(轉)程式設計
- Linux與Shell 第2天 實操、軟體包管理、Shell程式設計Linux程式設計
- Windows Shell 程式設計Windows程式設計
- shell程式設計(轉)程式設計
- shell程式設計二程式設計
- shell程式設計五程式設計
- Shell程式設計-02-Shell變數程式設計變數
- 如何學習shell程式設計?Linux運維學習shell程式設計是什麼程式設計Linux運維
- 前端學習 linux —— shell 程式設計前端Linux程式設計
- Linux Shell程式設計(15)——操作字串Linux程式設計字串
- Linux Shell程式設計(16)——迴圈Linux程式設計
- Linux Shell程式設計(29)——函式Linux程式設計函式
- Linux Shell程式設計(30)——別名Linux程式設計
- Linux Shell 程式設計實戰技巧Linux程式設計
- Linux的shell程式設計(一)(轉)Linux程式設計
- Linux的shell程式設計(二)(轉)Linux程式設計
- Linux的shell程式設計(三)(轉)Linux程式設計
- Linux的shell程式設計(四)(轉)Linux程式設計
- Linux入門---(三)Shell程式設計Linux程式設計
- Shell程式設計-11-子Shell和Shell巢狀程式設計巢狀