使用者环境与起始档.ppt

上传人:牧羊曲112 文档编号:6220780 上传时间:2023-10-06 格式:PPT 页数:34 大小:1.08MB
返回 下载 相关 举报
使用者环境与起始档.ppt_第1页
第1页 / 共34页
使用者环境与起始档.ppt_第2页
第2页 / 共34页
使用者环境与起始档.ppt_第3页
第3页 / 共34页
使用者环境与起始档.ppt_第4页
第4页 / 共34页
使用者环境与起始档.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《使用者环境与起始档.ppt》由会员分享,可在线阅读,更多相关《使用者环境与起始档.ppt(34页珍藏版)》请在三一办公上搜索。

1、Introduction to Unix part 3,Shell Script,2,使用者環境與起始檔,內容:Shell環境運作Shell的種類Shell Script Programming,3,Shell 環境運作,Shell 運作程序出現 提示符號(”%”記號)準備接受命令。使用者(或終端機傳輸)輸入命令。依照 PATH 變數,尋找命令位置。PATH裡面存著命令所存放的目錄,ex:PATH=/usr/local/bin:/usr/sbin(分隔符號為:)解譯並執行命令。輸出結果或錯誤訊息給使用者。再出現 Prompt 準備接受下一個命令。,Q:為什麼在pads1執行我寫好的prgram

2、 calc,必須要./calc呢?A:因為你的PATH裡面沒有存著現在目錄(.),所以系統去PATH變數找不到calc的目錄,只要將.也加入PATH裡,之後就可以只輸入calc執行,4,外殼與核心,系統核心系統程式與系統函數所構成外殼外殼工具Bourne Shell(sh)Korn Shell(ksh)Bourn Again Shell(bash)C Shell(csh)TC Shell(tcsh),5,使用者環境,環境變數檢視環境變數echo$PATH變更環境變數export PATH=$PATH:.(將目前目錄存到PATH中)要使用任何的shell變數都必須要加$使用export設定變數的

3、值只會在這次登入有效,下次登入必須重新設定(所以將export PATH=$PATH:.寫在shell初始設定檔.tcshrc)Note:使用pads1的人請寫在.bashrc;cs工作站沒有export指令,6,Shell Script 程式簡介,何謂 Shell script相當於dos裡的批次檔 將欲連續執行多個命令寫在file裡通常副檔名為.shShell script(命令稿)多個外殼命令+變數+程式控制結構外殼命令ls,cp,cat,mkdir,.程式控制結構if,while,for,.變數環境變數,自訂變數,位置變數,mkdir test2cp test1/*test2rm r

4、test1,example.sh,Shell Script 程式簡介,和c program的差別Script為interpreted languages;而c program必須先透過compiler編譯成可執行檔通常第一行 為#!/bin/sh 宣告這個 script 使用的 shell 名稱,讓系統知道該程式需要使用什麼 shell 來執行除了第一行的#!是用來宣告 shell 的之外,其他的#都是註解用途,8,Shell Script 程式簡介,Shell script 執行步驟 1:利用 pico 編輯程式pico hello.sh步驟 2:設定成可執行檔 chmod+x hello.

5、sh步驟 3:執行 shell script 程式hello.sh,Shell Script 程式簡介,Shell script 變數自訂變數:可自己隨意設定變數,如同在c program可宣告任意名字的變數,在shell裡變數預設為stringa=5echo“intger=$a”要使用此變數時,必須在變數前加$,10,輸入輸出語法,輸出敘述 echoecho“Good lucky to you”相當於C program裡的printf一定會換行輸入敘述 readecho“What is your name=”read name會將使用者的輸入存到name相當於C program裡的scanf

6、,輸入輸出範例,12,Shell Script 程式簡介,Shell script 變數位置變數:在命令列時,給此script的參數$0$9;$#代表有幾個參數;$*存著給script的參數們$0代表script本身ex:source hello.sh good job$0=hello.sh,$1=good,$2=job,$#=2,$*=good job,位置參數的範例,14,數值運算,expr:在shell中的四則數學運算,必須使用此指令來執行expr 5+2在+-*/的二邊都有空白,如果沒有空白將產生錯誤:若要將expr的運算結果assign給某個變數,則必須用(在!左邊的按鍵)將expr

7、的運算包起來sum=expr 5+2特別注意*為萬用字元,必須使用跳脫字元來表示*在此為乘法mul=expr 5*2,數值運算範例,數值運算範例輸出結果,17,選擇性結構敘述,條件敘述 數值比較:運算所傳回的結果是true或false以下兩種寫法等價,所以你可以任意選擇test或的寫法test integer1 eq integer2 integer1 eq integer2 中括號前後要有空白,18,選擇性結構敘述,條件敘述字串比較test str1!=str2 str1!=str2,19,選擇性結構敘述,條件敘述檔案屬性測試test d file_1-d file_1,20,選擇性結構敘述

8、,if 程式結構標準格式簡單格式最簡潔格式,if 條件判斷then 命令敘述區段fi,if 條件判斷;then 命令敘述區段fi,if 條件判斷;then;命令敘述區段;fi,若要把下一行的程式,寫到上一行,必須用分號隔開,if程式結構,if搭配著測試字串的範例,if 搭配著測試file的範例,24,選擇性結構敘述,case 程式結構,case variable inpattern_1)命令敘述區塊;pattern_2)statement 1 statement 2 statement 3;pattern_3)命令敘述區塊;.pattern*)esac,1.case的結尾是esac2.每個選項

9、間要用;作區隔3.最後一個選項*代表著不符合以上的選項,都會進到這裡來,等於c program的default4.variable可以隨意命名,case的範例,26,重複性結構敘述,for 迴圈結構,for var in Listdo commands commandsdone,for 迴圈會將空白當成分隔符號,然後一一執行。所以List可以由 一堆string以空白隔開組成var可以隨意命名var在for迴圈執行的過程,會從List裡取值ex:for var in“how are you”1st loop var=how2nd loop var=are3rd loop var=you總共執行

10、3次,Q:此program代表什麼意義?,28,重複性結構敘述,while 迴圈結構,while 條件判斷do 命令區塊done,本週練習,此次練習有兩個版本,一個簡單,一個比較困難可自行挑選要實作出哪個版本完成版本1:70分完成版本2(step1step3):90分完成版本2(step1step5):100分,練習3(版本1),step1:使用者在執行script時,會給數個參數ex:practice.sh test1 test2step2:根據使用者給的參數,在家目錄尋找是否有此目錄,若是,請列出此目錄裡面的所有檔案,練習3(版本2),step1:使用者在執行script時,會給一個參數,

11、是一個目錄名稱(要真實存在的目錄,且目錄下有3個以上的檔案,此目錄在家目錄下)ex:practice.sh test1step2:列出此目錄下的檔案step3:讓使用者輸入某個檔案名,查詢此檔案是否為可執行檔可以讓使用者一直輸入,直到使用者輸入stop才停止輸入,step4:step3的迴圈停止後,列出剛剛使用者所查詢的檔案Ex:list=“$list$name”使用list變數來存使用者所輸入的檔案,最簡單的方式是將原本list和name這兩個string相加,再重新assign給list變數step5:跳出選單讓使用者選擇要輸入哪個檔案,且如何處置此檔案選項1:在此檔案搜尋是否有hello字串選項2:將此檔案copy至家目錄下選項3:將此檔案刪除,版本2的輸出,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号