sh shell 发表于 2020-07-22 | 分类于 Linux | 阅读次数 123456789# 判断字符串空 a=`systemctl |grep xxxx` if [[ -z ${a} ]];then tar -zxvf xxx.tar.gz -C $path unzip web.zip -d $path rm -rf $path fi 1234# 判断文件夹存在 if [[ ! -d "${TEMP_LOH_WEB_PATH}" ]]; then mkdir -p ${TEMP_LOH_WEB_PATH} fi 1grep xxxxx /etc/hosts | awk '{print $1}' 123456789 # up.sql file name _ split sort by 1 # 排序 1579253832_support_ipv6.up.sql # -n 以数值来排序10大于2 -t 分隔符 -k 取1列 -r 降序 默认升序 fileTar=`ls -1 ${MYSQL_DB_PATH}/*up.sql | sort -t '_' -n -k 1` for sqlName in ${fileTar}; do echo "mysql import ${sqlName}" mysql -u root -pxxx loh < ${sqlName} done 123456789101112131415161718192021222324252627# error retry retries=3 wait_retry=0.5 function retry() { command=$1 arg=$2 for i in $(seq 1 "$retries"); do #echo "$*" if [ -z "$arg" ]; then $command else $command"$arg" fi ret_value=$? [ $ret_value -eq 0 ] && break echo "$command failed with $ret_value, waiting $wait_retry to retry $i" sleep $wait_retry done if [ $i -eq $retries ]; then echo "$* run failed" fi } retry "systemctl stop xxxx" retry "mysql -uroot -pxxxx -e" "DROP DATABASE loh" 本文作者: wyx 本文链接: https://github.com/blog/2020/07/22/sh-script 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!