1. 程式人生 > >bash 指令碼程式設計一 檔案頭,註釋 和 變數

bash 指令碼程式設計一 檔案頭,註釋 和 變數

檔案開頭

#!/bin/bash

#! 是所有linux指令碼檔案開頭的符號, 後面的/bin/bash表示是使用/bin/bash為直譯器來執行本檔案的指令碼

執行檔案

bash some.sh 或者 sh some.sh 也行,原因是檔案頭已經說明了這是bash直譯器, 所以不會被dash誤認

或者

./some.sh 這裡需要可執行許可權 chmod +x ./some.sh 

試一下:

呼叫一個基本的Linux命令,

echo "hello,world"

儲存為test.sh檔案,開啟執行許可權:

sudo chmod +x ./test.sh
執行吧:

./test.sh

看到了hello,world.

除錯

用-x引數執行即可

bash -x some.sh

會列印每一條語句

註釋#

新增一個註釋吧,用#開頭(pound sign)的所有字元都是註釋,除了第一行以外

#!/bin/bash
echo "hello,world" #this is a test
#後面的文字執行的時候被忽略了

預定義變數

bash提供了一些預定義的變數供程式設計使用,具體可參考文件:

這裡使用幾個:

#!/bin/bash
echo "hello,world" #this is a test
echo $BASH
echo $LANG
echo $USER
echo $PWD
顯示結果如下:
[email protected]:~/Ubuntu One$ ./test.sh
hello,world
/bin/bash
en_US.UTF-8
chenshu
/home/chenshu/Ubuntu One
注意,變數名是大小寫敏感的,並且預定義的變數名都是全大寫。

自定義變數

現在自己定義個變數,然後用一下試試看。

me="ok"
echo $me

注意,=號左右不能有空格,和編寫其他程式規範不一樣。加了空格程式就會錯誤。

引用變數

$是取變數的值的運算子。正式寫法是${variable-name} , 經常不使用 { } 簡化為 $variable-name

$ echo ${a}
6

變數儲存字串

如果字串中有空格,才必須用" "括起來,因為bash會把空格視作兩個命令之間的分隔符。

如果沒有空格, 則不需要用""括起來也是字串

$ a="5 6"
$ echo $a
5 6
$ a=A
$ echo $a
A