#!/bin/bash # Copyright 2021 Huawei Technologies Co., Ltd # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # ============================================================================ set -e PROJECT_HOME=${PROJECT_HOME:-$(dirname "$0")/../../} PROJECT_HOME=$(cd $PROJECT_HOME || return; pwd) function help(){ cat <<-EOF Usage: ge config [OPTIONS] update server config for ge, you need input all config info (ip, user, password) Options: -i, --ip Config ip config -u, --user Config user name -p, --password Config password -h, --help Example: ge config -i=121.36.**.** -u=asc**, -p=Asc***\#@\!\$ (Need add escape character \ before special charactor $、#、!) EOF } function write_config_file(){ local IP=$1 local USER=$2 local PASSWORD=$3 if [[ -z "$IP" ]] || [[ -z "$USER" ]] || [[ -z "$USER" ]]; then echo "You need input all info (ip, user,password)obout server config !!!" help exit 1 fi local PASSWORD=${PASSWORD//!/\\!} local PASSWORD=${PASSWORD//#/\\#} local PASSWORD=${PASSWORD/\$/\\\$} local SERVER_CONFIG_FILE=${PROJECT_HOME}/scripts/config/server_config.sh [ -n "${SERVER_CONFIG_FILE}" ] && rm -rf "${SERVER_CONFIG_FILE}" cat>${SERVER_CONFIG_FILE}<<-EOF SERVER_PATH=http://${IP}/package/etrans DEP_USER=${USER} DEP_PASSWORD=${PASSWORD} EOF } function parse_args(){ parsed_args=$(getopt -a -o i::u::p::h --long ip::,user::,password::,help -- "$@") || { help exit 1 } if [ $# -lt 1 ]; then help exit 1 fi local IP= local USER= local PASSWORD= eval set -- "$parsed_args" while true; do case "$1" in -i | --ip) IP=$2 ;; -u | --user) USER=$2 ;; -p | --password) PASSWORD=$2 ;; -h | --help) help; exit; ;; --) shift; break; ;; *) help; exit 1 ;; esac shift 2 done write_config_file $IP $USER $PASSWORD } function main(){ parse_args "$@" } main "$@" set +e