我們為你的面試准備選擇了 70 個你可能遇到的 shell 腳面問題及解答。了解腳本或至少知道基礎知識對系統管理員來說至關重要,它也有助於你在工作環境中自動完成很多任務。在過去的幾年裡,我們注意到所有的 linux 工作職位都要求腳本技能。
./script argument
例子 : 顯示文件名稱腳本
./show.sh file1.txt
cat show.sh
#!/bin/bash
cat $1
第一個參數 : $1,第二個參數 : $2
例子 : 腳本會復制文件(arg1) 到目標地址(arg2)
./copy.sh file1.txt /tmp/
cat copy.sh
#!/bin/bash
cp $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+$V2
echo $V3
輸出
Hello+World
V1=1
V2=2
V3=$V1+$V2
echo $V3
輸出
3
if[-f /var/log/messages ]
then
echo "File exists"
fi
for i in $( ls );do
echo item: $i
done
#!/bin/bash
COUNTER=0
while[ $COUNTER -lt 10];do
echo The counter is $COUNTER
let COUNTER=COUNTER+1
done
#!/bin/bash
COUNTER=20
until[ $COUNTER -lt 10];do
echo COUNTER $COUNTER
let COUNTER-=1
done
這一行說明要使用的 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