一些常用的shell

1 if语句

if语句的三种写法,注意[]的两个空格,else if 写法是elif,不要漏了fi结束

if [ xxx ]
then
fi

if [ xxx ]
then
    echo ""
else
    echo ""
fi

if [ xxx ]
then
    echo ""
elif
    echo ""
else
    echo ""
fi

2 判断字符串是否匹配正则表达式

例如,判断参数1是否匹配正则表达式(1.1.x)

if [[ $1 =~ ^1.1.[0-9]+$ ]]
then
    echo "match"
else
    echo "not match"
fi

3 数组操作

#定义数组
_ARRAY_PRO=("s1" "s2" "s3")

#或者数组长度
_ARRAY_PRO_LENGTH=${#_ARRAY_PRO[@]}

#遍历数组并输出内容
for ((i=0; i<$_ARRAY_PRO_LENGTH; i++))
do
   echo $i.${_ARRAY_PRO[$i]}
done

4 字符串截取

#根据"/"截取_PRO_PATH,提取_PRO_PARENT和_PRO_NAME
_PRO_PATH=advertiser/ad
_PRO_PARENT=${_PRO_PATH%%/*}
_PRO_NAME=${_PRO_PATH##*/}

5 获取时间值

_DATE=$(date +"%Y%m%d")    # 20150802
_TIME=$(date +"%H%M%S")    # 095501

6 获取tomcat进程号

_TOMCAT_PID=$( ps -ef | grep /oneway/service/tomcat/${_PRO_PATH}/ | grep -v grep | grep -v tail | awk '{print $2}' )
原文地址:https://www.cnblogs.com/notejava/p/7347517.html