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