建立一個腳本
Linux中有好多中不同的shell,但是通常我們使用bash (bourne again shell) 進行shell編程,因為bash是免費的并且很容易使用。所以在本文中筆者所提供的腳本都是使用bash(但是在大多數情況下,這些腳本同樣可以在 bash的大姐,bourne shell中運行)。
如同其他語言一樣,通過我們使用任意一種文字編輯器,比如nedit、kedit、emacs、vi
等來編寫我們的shell程序。
程序必須以下面的行開始(必須方在文件的第一行):
#!/bin/sh
符號#!用來告訴系統它后面的參數是用來執行該文件的程序。在這個例子中我們使用/bin/sh來執行程序。
當編輯好腳本時,如果要執行該腳本,還必須使其可執行。
要使腳本可執行:
chmod +x filename
然后,您可以通過輸入: ./filename 來執行您的腳本。
注釋
在進行shell編程時,以#開頭的句子表示注釋,直到這一行的結束。我們真誠地建議您在程序中使用注釋。如果您使用了注釋,那么即使相當長的時間內沒有使用該腳本,您也能在很短的時間內明白該腳本的作用及工作原理。
變量
在其他編程語言中您必須使用變量。在shell編程中,所有的變量都由字符串組成,并且您不需要對變量進行聲明。要賦值給一個變量,您可以這樣寫:
變量名=值
取出變量值可以加一個美元符號($)在變量前面:
#!/bin/sh #對變量賦值: a="hello world" # 現在打印變量a的內容: echo "A is:" echo $a
在您的編輯器中輸入以上內容,然后將其保存為一個文件first。之后執行chmod +x first
使其可執行,最后輸入./first執行該腳本。
這個腳本將會輸出:
A is:
hello world
有時候變量名很容易與其他文字混淆,比如:
num=2
echo "this is the $numnd"
這并不會打印出"this is the 2nd",而僅僅打印"this is the ",因為shell會去搜索變量numnd的值,但是這個變量時沒有值的??梢允褂没ɡㄌ杹砀嬖Vshell我們要打印的是num變量:
num=2
echo "this is the ${num}nd"
這將打?。?this is the 2nd
有許多變量是系統自動設定的,這將在后面使用這些變量時進行討論。
如果您需要處理數學表達式,那么您需要使用諸如expr等程序(見下面)。
除了一般的僅在程序內有效的shell變量以外,還有環境變量。由export關鍵字處理過的變量叫做環境變量。我們不對環境變量進行討論,因為通常情況下僅僅在登錄腳本中使用環境變量。
Shell命令和流程控制
在shell腳本中可以使用三類命令:
1)Unix 命令:
雖然在shell腳本中可以使用任意的unix命令,但是還是由一些相對更常用的命令。這些命令通常是用來進行文件和文字操作的。
常用命令語法及功能
echo "some text": 將文字內容打印在屏幕上
ls: 文件列表
wc
主站蜘蛛池模板:
禄劝|
镇坪县|
龙州县|
河池市|
康定县|
郁南县|
北流市|
乐陵市|
疏勒县|
惠水县|
北票市|
息烽县|
靖安县|
葫芦岛市|
威海市|
汪清县|
高淳县|
贵德县|
荣昌县|
益阳市|
农安县|
宜昌市|
富裕县|
修武县|
商城县|
靖远县|
莱芜市|
郧西县|
泸西县|
定安县|
灵石县|
六盘水市|
安国市|
塔城市|
瓮安县|
松原市|
延安市|
奉化市|
饶平县|
高台县|
罗平县|