《Linux程式設計基礎》第四章習題
一、填空題
- Linux 系統中的輸入輸出分為三類,分別為:(標準輸入)、標準輸出和(標準錯誤)。
- 當執行 gcc -c hello.c 2>file 命令時,系統會將執行命令時的(錯誤)輸出到檔案 file 中。
- 執行 Shell 指令碼的方法有兩種,假設現有一個指令碼檔案 test.sh,則執行該指令碼的方式分別為:(chmod +x test.sh ./test.sh)和(sh test.sh)。
- Shell 中的變數沒有明確的型別,變數值都以字串的形式儲存,但 Shell 中也可能進行一些算術運算,Shell 中的運算一般通過兩個命令實現:(let)和(expr)。
- 條件判斷是條件語句的核心,Shell 中通常使用(test)命令或([)命令對條件進行判斷,這兩個命令判斷的條件可以是命令或指令碼。
- Shell 指令碼中常用的條件語句有三種,分別為:(if)語句、(select)語句和(case)語句。
二、判斷題
- cat<file 命令的功能是將 cat 命令列印的結果重定向到檔案 file 中。(×)
- Shell 的原意為“殼”,它包裹在核心之外,處於硬體與核心之間。其主要功能為接收使用者輸入的命令,找到命令所在位置,並加以執行。(×)
- Shell 最重要的功能是命令解釋,Linux 系統中的所有可執行檔案都可以作為 Shell 命令來執行。(√)
- 使用 & 連線符連線的命令,其前後命令的執行遵循邏輯與關係,只有該連線符之前的命令執行成功時,後面的命令才會被執行。(√)
- 在 Shell 程式設計中,使用 echo 命令可列印字串。若當前指令碼中定義了變數 var=“hello itheima”,則語句 echo ‘$var’ 列印的結果為 hello itheima。(×)
三、單選題
-
分析以下指令碼程式碼:
#!/bin/sh var="hello itheima" echo "$var" echo '$var' exit 0
從以下選項中選出正確的執行結果。(B)
A.
hello itheima hello itheima
B.
hello itheima $var
C.
$var hello itheima
D.
$var $var
-
從以下四個選項中,選出能成功將標準錯誤重定向到 file 檔案中的選項。(C)
A. gcc hello.c 2<file
B. gcc hello.c 1<file
C. gcc hello.c 2>file
D. gcc hello.c 2>>file
-
若需要在當前終端上順序執行命令,則應使用下列哪個符號連線?(A)
A. ;
B. |
C. &&
D. ||
四、簡答題
-
分析以下指令碼程式碼:
#!/bin/bash sum=1 for((i=1; i<=10; i++)) do sum='expr $sum + $i' echo $sum done echo "sum1~10=$sum"
寫出此指令碼的執行效果。
2 4 7 11 16 22 29 37 46 56 sum1~10=56
-
寫出 Shell 指令碼中 while 迴圈與 until 迴圈的基本格式,並簡述這兩種迴圈結構的區別。
# while迴圈 while [ 表示式 ] do ... done
# until迴圈 until [ 表示式 ] do ... done
當 while 迴圈的條件為真時執行迴圈中的命令;當 until 迴圈中的條件為假時執行迴圈中的命令。
五、程式設計題
-
編寫 Shell 指令碼實現如下選單介面:
Menu 1) exit 2) edit file 3) date 4} calc #?
#!/bin/sh echo "Menu" select _command in "exit" "edit file" "date" "calc" do echo "$_command" break done exit 0
-
編寫 Shell 指令碼,實現批量新增使用者功能,要求如下:
① 使用者名稱格式統一,為相同字串加數字編號,如 qwe1~qwe9;
② 使用者密碼與使用者名稱相同。
#!/bin/sh for((i=1; i<=9; i++)) do name=qwe$i sudo useradd $name echo $name | sudo passwd --stdin $name done exit 0
-
編寫 Shell 指令碼,實現批量刪除使用者功能,其中使用者的使用者名稱格式統一(如 qwe1~qwe9)。
#!/bin/sh for((i=1; i<=9; i++)) do sudo userdel qwe$i done exit 0
相關文章
- linux程式設計基礎Linux程式設計
- 50道Java基礎程式設計練習題Java程式設計
- 《Spark程式設計基礎》(Scala版)第四章簡答題答案(自制)Spark程式設計
- JavaSE基礎程式設計十題Java程式設計
- Linux系統程式設計基礎Linux程式設計
- python程式設計從基礎到實踐第四章Python程式設計
- java程式設計師程式設計筆試基礎學習Java程式設計師筆試
- 《java程式設計基礎》例題5.6Java程式設計
- java語言程式設計基礎篇第七章程式設計練習題Java程式設計
- linux基礎練習題Linux
- Linux下串列埠程式設計基礎Linux串列埠程式設計
- 玩轉Linux – shell 程式設計基礎Linux程式設計
- 程式設計基礎程式設計
- Linux Bash Shell學習(八):shell程式設計基礎——string操作Linux程式設計
- Linux Shell指令碼程式設計-基礎1Linux指令碼程式設計
- Linux系統程式設計(12)——shell基礎Linux程式設計
- linux下bluetooth程式設計(一)基礎概念Linux程式設計
- Linux-shell程式設計入門基礎Linux程式設計
- Java程式設計基礎24——遞迴練習Java程式設計遞迴
- Python程式設計基礎練習——撲克牌發牌問題Python程式設計
- linux基礎練習題、面試題(二)Linux面試題
- Socket程式設計基礎程式設計
- Go程式設計基礎Go程式設計
- Java程式設計基礎Java程式設計
- Shell程式設計-基礎程式設計
- C程式設計基礎C程式程式設計
- shell程式設計基礎程式設計
- 網路程式設計基礎-socket基礎程式設計
- 學習計算機程式設計需要什麼基礎?計算機程式設計
- Linux之19——Shell程式設計基礎詳解Linux程式設計
- Linux 高效能伺服器程式設計- Linux 網路程式設計基礎 APILinux伺服器程式設計API
- 好程式設計師web前端學習路線分享前端基礎面試題程式設計師Web前端面試題
- C#網路應用程式設計基礎練習題與答案(1)C#程式設計
- Java網路程式設計基礎學習與整理Java程式設計
- Java 基礎02Java程式設計基礎Java程式設計
- 柳大的Linux講義·基礎篇(4)網路程式設計基礎Linux程式設計
- 程式設計基礎知識程式設計
- shell程式設計基礎二程式設計