一个Shell脚本是一个文本文件,包含一个或多个命令。做为系统管理员,咱们常常须要使用多个命令来完成一项任务,咱们能够添加这些全部命令在一个文本文件(Shell脚本)来完成这些平常工做任务。shell
在Linux操做系统,“/bin/bash”是默认登陆shell,是在建立用户时分配的。使用chsh命令能够改变默认的shell。示例以下所示:express
chsh <username> -s <shell>
能够定义以下两种类型的变量vim
能够有两种实现方法:数组
2>&1
&>
示例以下:bash
if [ 条件 ] then; command ... else if [ 条件 ] then; command... else command... fi fi
“$?”能够来检查前一命令的结束状态,一般”0”表示成功,”1-255”表示运行失败函数
可使用 、 -ne-eq`来进行比较。-gt-lt`` 、、
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))
方法一:ui
func_name() { func body ... }
方法二:spa
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}