自学内容网 自学内容网

记录一些shell脚本

        本篇文章记录一些shell方法,都是我在项目中使用的,以备以后用到时查阅,同时分享给有需要的伙伴。

  1. 测试url连通性
function call_url() {
    local url=$1
    local max_retries=$2
    local msg=$3

    for (( i=1; i<="$max_retries"; i++ )); do
        # -s 不输出 -o 有信息输入到 /dev/null
        local response=$(curl -s -o /dev/null -w "%{http_code}" "$url")

        if [ "$response" -eq 200 ]; then
            echo_green "$msg test success!"
            return 0
        else
            echo "$msg test fail,code: $response,trying $i times..."
            sleep 10
        fi
    done
    echo "try $max_retries times, $msg test error!"
    return 1
}
# 调用方法示例如下
call_url "$check_url" "$retry_times" xx_project
# 方法接受三个参数
# 1. 被测试的url
# 2. 测试的次数
# 3. 项目信息
# 每次测试间隔10s
  1. 创建一个用户
function create_user() {
  local username=$1
  local password=$2
  if [ "$(id -u)" -eq 0 ];then
    echo "当前用户为root, 即将创建 ${username} 用户"
    if id "$username" &>/dev/null; then
      echo "用户 $username 已存在"
      return 1
    else
      useradd "$username"
      echo "$username:$password" | chpasswd
      echo "create user ${username} done"
      return 1
    fi
  else
    echo "当前用户不为root"
    return 2
  fi
}
# 调用方法示例如下
create_user test pass
# 方法接受两个参数
# 1. 用户
# 2. 用户的密码
# 因为本方法有判断是否root用户的逻辑,所以记录了它,有需要的伙伴可以稍加改造
  1. 删除一个用户
function del_user() {
  local username=$1
  # clean user
  if id "$username" &>/dev/null; then
    echo "del user : $username"
    # 删除用户的时候,删除主目录
    userdel -r "$username"
  else
    echo "$username is not exists."
  fi
}
# 调用方法示例如下
del_user test
# 本方法接受一个参数
# 1. 用户名
# 本方法在删除用户的时候,同时会删除用户的主目录

        好了,先分享这几个,其它的都跟业务有关了,不便分享了。


原文地址:https://blog.csdn.net/dydyswr/article/details/143581097

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!