1、在shell腳本成功執行前,如何中斷腳本執行?
使用exit指令實作。在Unix環境下的shell腳本中,0值表示成功執行。是以,在腳本終止前執行一個不帶引号的‘exit -1’指令将使腳本中止。
例如:建立如下名為iniexit.sh的腳本
#!/bin/sh
echo "hello"
exit -1
echo "bye"
儲存并執行該腳本:
root@ypyu-VirtualBox:/usr/local/shellscript/code/mytest# ./iniexit.sh
hello
從上面的腳本中可以清楚地看到,在exit -1指令前,腳本執行得很好。
2、如何使用Linux指令來移除檔案頭?
解答:當我們需要删除檔案中的指定行時,‘sed’指令可以用來解決該問題。
這個是用來删除檔案頭(檔案的首行)的正确指令。
# sed '1 d' file.txt
上面指令的問題是,它會在标準輸出裝置上輸出不帶首行的檔案内容。為了儲存輸出到檔案,我們需要使用重定向操作符,它将幫助你将輸出重定向到檔案。
# sed '1 d' file.txt > new_file.txt
好吧,其實sed指令内建的‘-i’開關就可以幹這活,就不需要重定向符了吧。
# sed -i '1 d' file.txt
3、你怎麼檢查一個文本檔案中某一行的長度?
‘sed’指令也可以用來查找文本檔案中的某一行或者檢查其長度。
‘sed -n ‘n p’ file.txt’可以解決,這裡‘n’表示行号,‘p’列印出比對内容(到标準輸出),該指令通常與-n指令行選項連用。那麼,怎樣來擷取長度計數呢?很明顯,我們需要通過管道輸出給‘wc’指令來計算。
# sed –n 'n p' file.txt | wc –c
要得到文本檔案‘tecmint.txt’的第五行的長度,運作如下指令:
# sed -n '5 p' tecmint.txt | wc -c
4、可以在Linux系統上檢視到所有非列印字元嗎?你是怎麼做到的?
在vi編輯器的指令界面輸入set list指令并執行。
5、假如你是一個員工組的團隊上司,為xyz公司工作。公司要求你建立一個‘dir_xyz’目錄,讓該組成員都能在該目錄下建立或通路檔案,但是除了檔案建立者之外的其他人不能删除檔案,你會怎麼做?
答:這真是個有趣的工作方案。好吧,上面所講的方案,我們需要通過下面的步驟來實施,這簡直就是小菜一碟。# mkdir dir_xyz # chmod g+wx dir_xyz # chmod +t dir_xyz