Shell脚本编程01:基础知识
Shell腳本與Windows/Dos下的批處理相似,就是將各類命令預先放入到一個文件中,然后執行該文件,便可以達到與批處理類似的功能,主要是方便管理員進行設置或者管理用的。
換句話來說,shell腳本是利用shell的功能所寫的一個程序,這個程序使用純文本文件,將一些shell的語法與指令寫在里面,然后用正規表示法,管線命令以及數據流重導向等功能,以達到我們所想要的處理目的。
這里有必要說一下shell和shell腳本的區別。
Shell就是一個命令行解釋器,它的作用就是遵循一定的語法將輸入的命令加以解釋并傳給系統。它為用戶提供了一個向Linux發送請求以便運行程序的接口系統級程序,用戶可以用Shell來啟動、掛起、停止甚至是編寫一些程序。Shell本身是一個用C語言編寫的程序,它是用戶使用Linux的橋梁。
Shell既是一種命令語言,又是一種程序設計語言(shell腳本)。作為命令語言,它互動式地解釋和執行用戶輸入的命令;作為程序設計語言,它定義了各種變量和參數,并提供了許多在高階語言中才具有的控制結構,包括循環和分支。它雖然不是 Linux系統內核的一部分,但它調用了系統內核的大部分功能來執行程序、創建文檔并以并行的方式協調各個程序的運行。
1.語法基礎
1.1開頭
Shell腳本程序必須以如下的語句行開始(必須方在文件的第一行):
#!/bin/sh
“#!/bin/sh"是對shell的聲明,說明你所用的是那種類型的shell及其路徑所在。如果沒有該語句聲明,則腳本將在默認的shell中執行。
1.2注釋
在進行shell編程時,以#開頭的句子表示注釋,直到這一行的結束。
備注:“#!/bin/sh"不是注釋。
1.3變量
在shell編程中,所有的變量都由字符串組成,并且不需要對變量進行聲明。對變量賦值,可以使用如下語句:
var="hello world"
備注:“=”前后不能有空格,句尾不能有“;”。
2.常用指令
echo "some text": 將文字內容打印在屏幕上
ls: 文件列表
wc –l filename:計算文件行數
wc -w filename:計算文件中的單詞數
wc -c filename: 計算文件中的字符數
cp sourcefile destfile: 文件拷貝
mv oldname newname : 重命名文件或移動文件
rm filename: 刪除文件
grep 'string' filename: 在文件內搜索字符串
cat filename: 輸出文件內容到屏幕上
file filename: 得到文件類型
read var: 提示用戶輸入,并將輸入賦值給變量
find: 搜索文件
tee: 將數據輸出到標準輸出設備(屏幕) 和文件比如:somecommand | tee outfile
basename filename: 返回不包含路徑的文件名
dirname filename: 返回文件所在路徑
sed: 查找替換
?
總結
以上是生活随笔為你收集整理的Shell脚本编程01:基础知识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 技术久了,偶尔放松下吧,看看这些小样,很
- 下一篇: PostgreSQL的 array_to