我們為你的面試准備選擇了 70 個你可能遇到的 shell 腳面問題及解答。了解腳本或至少知道基礎知識對系統管理員來說至關重要,它也有助於你在工作環境中自動完成很多任務。在過去的幾年裡,我們注意到所有的 linux 工作職位都要求腳本技能。
./script argument例子 : 顯示文件名稱腳本
./show.sh file1.txtcat show.sh#!/bin/bashcat $1
第一個參數 : $1,第二個參數 : $2
例子 : 腳本會復制文件(arg1) 到目標地址(arg2)
./copy.sh file1.txt /tmp/cat copy.sh#!/bin/bashcp $1 $2
$#
$0
$?
tail -1
head -1
awk '{print $3}'
awk '{ if ($1 == "FIND") print $2}'
將 -xv 參數加到 #!/bin/bash 後
例子:
#!/bin/bash –xv
function example {echo "Hello world!"}
V1="Hello"V2="World"V3=$V1+$V2echo $V3輸出
Hello+World
V1=1V2=2V3=$V1+$V2echo $V3輸出
3
if[-f /var/log/messages ]thenecho "File exists"fi
for i in $( ls );doecho item: $idone
#!/bin/bashCOUNTER=0while[ $COUNTER -lt 10];doecho The counter is $COUNTERlet COUNTER=COUNTER+1done
#!/bin/bashCOUNTER=20until[ $COUNTER -lt 10];doecho COUNTER $COUNTERlet COUNTER-=1done
這一行說明要使用的 shell。#!/bin/bash 表示腳本使用 /bin/bash。對於 python 腳本,就是 #!/usr/bin/python。(LCTT譯注:這一行稱之為釋伴行。)
head -10 file|tail -1
#0使變量在子 shell 中可用。
在腳本後面添加 “&”。
使腳本所有者擁有可執行權限。
重定向輸出流到文件或另一個流。
當條件滿足時需要運行多條命令的時候。
My name is $name
#
variable
在腳本文件中添加 "exec >log.txt 2>&1" 命令。
更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2015-06/118736p2.htm