《面试你必须懂的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
“$?”可以来检查前一命令的结束状态,通常”0”表示成功,”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.vephp.com/jiaocheng/4479.html