考一考!嵌入式Linux Shell腳本的面試題
題一:
在shell腳本成功執行前,如何中斷腳本執行?
思考過後,再到下方尋找答案
題二:
如何使用Linux命令來移除文件頭?
思考過後,再到下方尋找答案
題三:
一個Linux進程經歷的各個階段?
思考過後,再到下方尋找答案
題一答案:
我們需要使用『exit』命令來實現以上描述的情境。『exit』命令被強制輸出非0值時,腳本會報錯並退出。在Unix環境下的shell腳本中,0值表示成功執行。因此,在腳本終止前執行一個不帶引號的『exit -1』命令將使腳本中止。
例如,創建以下一個名為「anything.sh」的腳本。
#!/bin/bash
echo 「Hello」
exit -1
echo 「bye」
保存文件並執行。
# sh anything.sh
Hello
exit.sh: 3: exit: Illegal number: -1
從上面的腳本中可以清楚地看到,在exit -1命令前,腳本執行得很好。
題二答案:
當我們需要刪除文件中的指定行時,『sed』命令可以用來解決該問題。
這個是用來刪除文件頭(文件的首行)的正確命令。
# sed 』1 d』 file.txt
上面命令的問題是,它會在標準輸出設備上輸出不帶首行的文件內容。為了保存輸出到文件,我們需要使用重定向操作符,它將幫助你將輸出重定向到文件。
# sed 』1 d』 file.txt > new_file.txt
好吧,其實sed命令內建的『-i』開關就可以干這活,就不需要重定向符了吧。
# sed -i 』1 d』 file.txt
題三答案:
一個Linux進程在它的一生中,通常經歷了四個主要階段。
這裡是Linux進程要經歷的四個階段。
· 等待:Linux進程等待資源。
· 運行:Linux進程當前正在執行中。
· 停止:Linux進程在成功執行後或收到殺死進程信號後停止。
· 殭屍:如果該進程已經結束,但仍然留在進程表中,被稱為『殭屍』。
※考一考!嵌入式操作系統面試題3道
※盤點嵌入式Linux中進程間通信和線程間通信的幾種方式
TAG:嵌入式ARM |