linux shell 簡單用法

linux shell 簡單用法

一,linux shell 基本介紹

二,linux shell 基本用法

2.1基本語法

2.1.1Shell命令行書寫規則
1,在執行Shell命令時多個命令可以在一個命令行上運行,但此時要使用分號(;)分隔命令.
2,長Shell命令行可以使用反斜線字符()在命令行上擴充

echo &pwd
mkdir test1 \
|| cd test1
echo &pwd

2.1.2Shell程序中使用的參數
1,位置參數
由系統提供的參數稱爲位置參數。位置參數的值可以用NN1 1。類似C語言中的數組,Linux會把輸入的命令字符串分段並給每段進行標號,標號從0開始。第0號爲程序名字,從1開始就表示傳遞給程序的參數。如0 1表示傳遞給程序的第一個參數,以此類推。
2,內部參數
上述過程中的0 1則可有可無,最常用的內部變量有0 #、? *,它們的含義如下。
$0: 含命令所在的路徑。
$#: 傳遞給程序的總的參數數目。
$?: Shell程序在Shell中退出的情況,正常退出返回0,反之爲非0值。
$*: 傳遞給程序的所有參數組成的字符串。
3,

2.2條件語句

2.2.1if語句
2.2.3if語句的特殊用法
if 語句的判斷可以使用表達式,例如test函數
2.2.4if 語句未歸類用法
1,[]判斷表達式
判斷表達式可以用上述的test函數代替,這裏不討論test函數;[]表達式的內容比較多.只能先描述現用的,具體的以後再補充.

if [ "$1" = "-t" ]
    then
        if [ -n "$2" ]; then
        timer=$2
        fi
fi

上述例子中國,第一個[]表達式表示如果第一個參數是”-t”就執行then後語句;第二個表達式表示如果存在第二個參數,就執行then後語句把第二個參數的值給timer(這是個簡單的例子,沒有做保護).
現在討論下第一個[]表達式,爲什麼要用”“;如果用[ $1 = -t ],當有第一個參數的時候,該shell腳本正常執行,當沒有第一個參數的時候,該shell腳本會報錯,原因(推測)shell腳本是解釋型語言,當執行到

[ $1 = -t ]

發現$1 沒有,就把上面那句解釋爲=-t,因此報錯.

2.3循環語句

2.3.1while循環
下例簡單了做了一個循環,功能是說沒10秒打印一次date

timer=10;
while true;do
echo &date "+%B%d%A"
sleep $timer
done

三,linux shell 未歸類用法

3.1linux的基本步驟

3.1.1編輯Shell程序
編輯一個內容如下的源程序,保存文件名爲date
#!/bin/sh
timer=10;
while true;do
echo &date "+%B%d%A"
sleep $timer
done

注意:#! /bin/sh通知採用bash解釋。如果在echo語句中執行Shell命令date,則需要在date命令前加符號“&”,其中%B%d%A爲輸入格式控制符。
3.1.2建立可執行程序
編輯完該文件之後不能立即執行該文件,需給文件設置可執行程序權限。使用如下命令:

u@ubuntue$chmod +x date

注意:上述命令的意思是賦予date文件可執行的權限
3.1.3執行Shell程序
執行Shell程序有下面三種方法:
方法一:

u@ubuntue$./date

方法二:另一種執行date的方法就是把它作爲一個參數傳遞給Shell命令:

u@ubuntue$bash date

方法三:爲了在任何目錄都可以編譯和執行Shell所編寫的程序,即把/home/study的這個目錄添加到整個環境變量中。

u@ubuntue$xport PATH=/home/study:$PATH
u@ubuntue$bash date

3.2linux shell 執行多個命令的幾種方法

3.2.1每個命令之間用;隔開
說明:各命令的執行給果,不會影響其它命令的執行。換句話說,各個命令都會執行,
但不保證每個命令都執行成功。
3.2.2.每個命令之間用&&隔開
說明:若前面的命令執行成功,纔會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是成功的。
3.2.3.每個命令之間用||隔開
說明:||是或的意思,只有前面的命令執行失敗後纔去執行下一條命令,直到執行成功
一條命令爲止。

echo &pwd
mkdir test1 && cd test1
mkdir test1 || cd test1
echo &pwd
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章