實驗三 shell程式設計: shell基礎
實驗目的:
進一步鞏固shell程式設計語言基本文法,加深對所學知識的理解。
實驗要求
1. 四種變數的使用
2. 配置環境變數
3. 元字元和Regex
4. 引號
1. 本地變數
$ var1="hello Linux" //定義本地變數var1
$ read var2 //定義本地變數vae2
$ echo $var1 $var2 //顯示本地變數的值
2. 環境變數
$ env //顯示系統的環境變數
$ echo $PATH //顯示搜尋路徑變數PATH
$ MYNAME="zhangs" //定義本地變數MYNAME
$ export MYNAME //將本地變數MYNAME輸出為環境變數
下面觀察環境變數與本地變數作用範圍的區別
$ echo $var1 $MYNAME //顯示本地變數和環境變數
$ bash //建立子進程bash
$ echo $var1 $MYNAME //顯示本地變數和環境變數
$ exit //退出子進程bash
$ echo $var1 $MYNAME
通過修改環境變數PS1可修改提示符
$ PS1=$ //將提示符變為$
3. 位置變數
使用編輯器vi編輯下列shell指令碼
#!/bin/bash
echo $0 $1 $2 $3
將上述兩行指令碼儲存為檔案locat.sh
$ chmod +x locat.sh //增加執行許可權
$ ./locat.sh you me he
觀察顯示結果,理解位置變數的定義
4. 預定義變數
用編輯器vi編輯以下shell指令碼
#!/bin/bash
echo $#
echo $*
將上述三行儲存為檔案predef.sh
$chmod +x predef.sh //增加執行許可權
$ ./predef.sh Linux Unix Windows
觀察運行結果,理解預定義變數的含義
5. 配置環境變數
可通過使用者主目錄下的設定檔,改變系統的啟動參數,例如:可通過修改.bash_profile修改環境變數PATH,具體操作如下:
$ cd ~ //進入使用者的主目錄
$ vi .bash_profile //編輯設定檔
若檔案中有下列行:
PATH= $PATH;$HOME/bin
則在PATH路徑中增加當前路徑,修改後外:
PATH= $PATH:$HOME/bin:.
$ exit //退出
用該使用者的帳號重新登入系統
執行目前的目錄下的locat.sh指令碼無需制定當前路徑,例如:
$ locat.sh myname is zhangs
6.元字元與Regex
$ cd ~ //進入使用者主目錄
# ls -l / >list //以詳細方式列出根目錄下的所有檔案資訊,重新導向至list檔案
$ grep ^d list // 查詢所有目錄
$ ls *.sh //列出所有尾碼名為.sh的shell指令檔
6. 反引號、單引號和雙引號
$ abc="pwd"
$ echo '$abc' //只顯示單引號內的字串
$ echo "$abc" //顯示變數的值
$ echo `"$abc"` //"和`的綜合使用
$ echo "`pwd`" //為"內的`作出解釋
$ echo *
$ echo "*" //屏蔽元字元的特定含義
$ echo ‘*’ //觀察顯示結果
$ echo \* //觀察顯示結果