shell學習2 互動模式和非互動模式

2021-09-12 11:27:47 字數 1483 閱讀 1107

shell的模式可分為互動模式和非互動模式。

互動模式,就是需要和使用者互動才可以將程式執行完畢。如下:

1 #!/bin/bash

2 #3 cat()

4 7 echo -n "input number of lines:"

8 read line

9 limit=6

10 #

11 if [ $limit -gt $line ]

12 then

13 while [ -n $line ]

14 do

15 cat

16 break 2

17 done

18 #

19 echo -n "contine?(answer yes/no):"

20 read answer

21 if [ $answer = 'yes' ]

22 then

23 let line=line+1

24 cat

25 fi

26 fi

27 exit 0

解釋:

3-6行是定義個cat的函式,該函式的作用是讀取/etc/passwd檔案中的內容並通過管道輸送給head命令,head命令根據變數$line的值將指定的行顯示出來。

7行,提示輸入乙個數字,即要顯示的行數。

8行,使用read命令讀取在第7行輸入的行數值,並將讀取到的資訊值存在變數$line中。

11行,比較兩個變數值的大小。

13-17行,此while迴圈語句結構呼叫cat函式讀取指定檔案的內容,並在讀取完成後退出,其中第13行中的-n選項,用於判斷行數是否為空,不為空時為真,第15行是呼叫cat函式。

21-25行,在滿足條件時(使用者輸入yes),執行呼叫函式讀取/ect/passwd檔案中的行,其中23行表示將變數line中的值加1,也就是多讀取一行的資訊。

非互動模式,就是不需要和使用者互動,就可以將程式執行完畢,如下:

1 #!/bin/bash

2 #3 cat()

4 7

8 limit=6

9 line=2

10 #

11 if [ $limit -gt $line ]

12 then

13 while [ -n $line ]

14 do

15 cat

16 break 2

17 done

18 #

19 echo

20 let line=line+1

21 cat

22 fi

23 exit 0

參考:陳祥琳 編《linux shell指令碼從入門到精通》 機械工業出版社

hive互動模式和非互動模式

1,可以將hive執行的sql語句儲存到指令碼檔案中,通過 f選項制定指令碼檔案執行hive eg hive f script.sql 2,對於較短的sql語句,可以直接使用 e選項執行hive eg hive e select from table a 3,s選項 hive執行過程中,會在終端上顯...

shell指令碼和vim模式初步學習

第一次linux作業竟然花了不止4個小時而且只做出兩道,真是受不了。作業的題目如下 2,8s 4 g a bc abc 1 方法一g n s t合併前 合併後 原理 首先標記所有換行符,然後通過s命令把換行符換成製表符,這時第二行就會合併到第一行,第二行的標記被刪除,接著就會跑到第三行執行同樣操作,...

學懂正則2 量詞匹配模式 的貪婪 非貪婪和獨佔

獨佔模式 其它總覽 貪婪模式與非貪婪模式 貪婪模式 使用a 來匹配 aaabb會得到如下結果 總共有四次匹配符合,分別是 aaa 後三次都是空字串,這也是 這一量詞的特點,它會匹配空字串,而正則認為字串以空字元結尾。如果 a 去匹配 aaa 得到結果也會是兩個,分別是 aaa 非貪婪模式 在量詞後面...