卷前:整理一些工作学习中遇到的不怎么记得的shell命令
#!/bin/bash
#declare(选项)(参数)
declare -i num #声明数值型变量
declare -a arr #声明数组型变量
arr["key"]="value"
arr["name"]="password"
arr["admin"]="oadmin"
arr["nononno"]="this is nonono key"
#$加井号,取当前shell文件bash执行时后面跟的参数个数
#$加星号,取当前所有参数
if [[ $# == 0 ]]; then
fun1
elif [[ $# == 1 ]]; then
fun ${1}
elif [[ $# > 1 ]]; then
echo
fi
#普通函数
fun1{
echo "函数也可以不加function";
}
count=0
fun2{
#可以直接执行外部shell命令
count='docker ps | grep ${1} | wc -l'
#管道之后 grep默认查系统中所有进程消息中指定名称进程 这里便是查docker容器ps返回的所有容器列表消息
#wc默认统计-c字节数、-l行数、-w字数 这里便可以统计grep返回的行数并最终给到count计数变量
}
function fun{
if [ "admin" == ${1} ]; then
echo
elif [ "nonono" == ${1} ]; then
echo ${arr[${1}]} #输出key为nonono的值
else
echo ${arr[@]} #输出数组中所有值
fi
}
dual{
#FOR循环 加感叹号取数组(map)的key,不加是取value,加@是取所有
for ar in ${!arr[@]}
do
echo $ar
done
}
cd `dirname $0` echo `pwd` #放在脚本中执行可以返回当前脚本所在目录 #放一块也可以,用dollar符括起来 cd $(dirname $0) && pwd
卷后:持续更新