《面試你必須懂的bash之25問!》要點(diǎn):
本文介紹了面試你必須懂的bash之25問!,希望對您有用。如果有疑問,可以聯(lián)系我們。
一個(gè)Shell腳本是一個(gè)文本文件,包含一個(gè)或多個(gè)命令.作為系統(tǒng)管理員,我們經(jīng)常需要使用多個(gè)命令來完成一項(xiàng)任務(wù),我們可以添加這些所有命令在一個(gè)文本文件(Shell腳本)來完成這些日常工作任務(wù).
在Linux操作系統(tǒng),“/bin/bash”是默認(rèn)登錄shell,是在創(chuàng)建用戶時(shí)分配的.使用chsh命令可以改變默認(rèn)的shell.示例如下所示:
chsh <username> -s <shell>
可以定義如下兩種類型的變量
可以有兩種實(shí)現(xiàn)方法:
2>&1
&>
if [ 條件 ] then;
? ?command ...
else
? ?if [ 條件 ] then;
? ? ? ?command...
? ?else
? ? ? ?command...
? ?fi
fi
“$?”可以來檢查前一命令的結(jié)束狀態(tài),通常”0”表示成功,”1-255”表示運(yùn)行失敗
可以使用-gt
、-lt`` 、
-ne、
-eq`來進(jìn)行比較.
break命令一個(gè)簡單的用途是退出執(zhí)行中的循環(huán).我們可以在while和until循環(huán)中使用break命令跳出循環(huán)
continue命令不同于break命令,它只跳出當(dāng)前循環(huán)的迭代,而不是整個(gè)循環(huán).continue命令很多時(shí)候是很有用的,例如錯(cuò)誤發(fā)生,但我們依然希望
通常賦予腳本執(zhí)行權(quán)限或使用bash命令調(diào)用,如下所示:
chmod +x script.sh
bash script.sh
如下格式:
#!/bin/bash
#
#auther: magedu
#description:This is scripts
腳本主體
通常使用bash 命令中 -x
參數(shù)來執(zhí)行腳本,如下格式:
bash -x script.sh
如下格式:
#!/bin/bash
A="mageu"
B="magedu"
[[ "$A" == "$B" ]] && echo "字符串相同" || echo "字符串不同"
$0
: 命令行中的腳本名字$1..$9
: 腳本可接受的參數(shù)個(gè)數(shù)$#
: 命令行參數(shù)的數(shù)量$*
: 所有命令參數(shù),轉(zhuǎn)換為一個(gè)字符串$@
: ?所有命令參數(shù),轉(zhuǎn)換為一個(gè)字符串-d
: 文件是否存在且是目錄-e
: 文件是否存在-f
: 文件是否存在且是普通文件-r
: 文件存在且是否可讀-s
: 文件存在且不為空-w
: 文件存在且可寫-x
: 文件存在且可執(zhí)行#!/bin/bash
#
#auther: mage team
#
read -p "Please Enter Your Chooice: " STR
echo "${STR}
unset $VAR
VAR=
let i++
expr 1 + 2
$[ 2 + 3]
$(($num1 + $num2))
func_name() {
? ?func body
? ?...
}
function func_name(){
? ?func body
? ?...
}
VAR=$(echo "options;expression" | bc)
ESC + :
,進(jìn)入命令模式;set list
使用trap
命令來獲取,如下格式:
#!/bin/bash
# auther: mage team
trap 'echo "quit";exit1' INT
有如下方式:
declare -a NAME
: 申明一個(gè)索引數(shù)組declare -A NAME
: 申明一個(gè)關(guān)聯(lián)數(shù)組可以使用如下方式來引用:
${#ARRAY_NAME[*]}
${#ARRAY_NAME[@]}
可以在腳本中計(jì)算
#!/bin/bash
# auther : mage team
#
file_list=(`ls /www/log/access_log/`)
NUM= $[ ${#file_list[*]} - 1 ]
echo "$NUM"
有如下兩種方式:
$VAR_NAME
${VAR_NAME}
文章出處:運(yùn)維部落
文:馬哥Linux團(tuán)隊(duì)
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/4479.html