シェルスクリプト内にあるechoコマンドの挙動がおかしいです。
原因及び解決方法をご存知の方、お知恵を貸してください。
以下、詳細になります。
◇実行コマンド
$ sh ./main.sh rds_list.txt snapshot-dev-20180718
◇実行結果
$ sh ./main.sh rds_list.txt snapshot-dev-20180718 RDS_LIST: rds_list.txt SNAPSHOT: snapshot-dev-20180718 ====================================================== rds_instance: rds-dev-test-1 snapshot-dev-20180718stance.sh rds-dev-test-1 ## ここがおかしい!!! ====================================================== rds_instance: rds-dev-test-2 snapshot-dev-20180718stance.sh rds-dev-test-2 ## ここがおかしい!!!
◇引数に指定したファイル
rds_list.txt
rds_list.txt
1rds-dev-test-1 2rds-dev-test-2
◇シェルスクリプト
main.sh
#!/bin/bash RDS_LIST=$1 SNAPSHOT=$2 echo "RDS_LIST: ${RDS_LIST}" echo "SNAPSHOT: ${SNAPSHOT}" while read rds_instance do echo ====================================================== echo "rds_instance: ${rds_instance}" cmd="sh ./create_cluster_instance.sh ${rds_instance} ${SNAPSHOT}" echo ${cmd} # ここのコマンドの挙動がおかしい!! ${cmd} # >> ${rds_instance}.log & done < ${RDS_LIST}
create_cluster_instance.sh
#!/bin/bash profile="aws-dev" # set Cluster parameter rds_cluster=`echo $1`-cluster snapshot=$2 db_subnet_group_name="iotcld-dafdev-1" vpc_security_group_ids="vpc_security_group_ids" db_cluster_parameter_group_name="db_cluster_parameter_group" # set Instance parameter rds_instance=$1 db_instance_class="db.r3.2xlarge" availability_zone="ap-northeast-1a" db_parameter_group_name="db_parameter_group" master_user_password="master_user_password" # create the RDS cluster cmd="aws --profile ${profile} rds restore-db-cluster-from-snapshot --engine aurora --db-cluster-identifier ${rds_cluster} --snapshot-identifier ${snapshot} --db-subnet-group-name ${db_subnet_group_name} --vpc-security-group-ids ${vpc_security_group_ids}" echo ${cmd} #${cmd} # # wait until the cluster's status changed into available. # while true # do # # sleep 600 # cmd="aws --profile ${profile} rds describe-db-clusters --filters Name=db-cluster-id,Values=${rds_cluster}" echo ${cmd} # rds_status=`${_cmd} | jq -r '.DBClusters[0].Status'` # if [ ${rds_status} == "available" ];then # break # fi # # done # modify the cluster's parameter group cmd="aws --profile ${profile} rds modify-db-cluster --db-cluster-identifier ${rds_cluster} --db-cluster-parameter-group-name ${db_cluster_parameter_group_name}" echo ${cmd} #${cmd} # create an RDS instance cmd="aws --profile ${profile} rds create-db-instance --engine aurora --db-cluster-identifier ${rds_cluster} --db-instance-identifier ${rds_instance} --db-instance-class ${db_instance_class} --availability-zone ${availability_zone} --db-parameter-group-name ${db_parameter_group_name} --no-multi-az --no-publicly-accessible --master-user-password ${master_user_password}" echo ${cmd} #${cmd}

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/07/22 17:06