为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1
【操作系统】:麒麟
【CPU】: 8
【问题描述】*:
shell脚本如下:
#!/bin/bash
dmdispwd="/01data/dm8/bin"
read -p "请输入dm服务端口,默认值 ==> (5236) : " dmport
read -p "请输入dm超管密码,默认值 ==> (SYSDBA) : " sysdbapwd
read -p "请输入oneaccess各个库拥有者对应的密码,默认值 ==> (Bamboocloud@1234) : " kupwd
read -p "请输入oneaccess对应的库及用户的后缀,默认为空串: " suffix
suffix=${suffix:-""}
sysdbapwd=${sysdbapwd:-"SYSDBA"}
dmport=${dmport:-"5236"}
kupwd=${kupwd:-"Bamboocloud@1234"}
dir=hcs_dm_execute
rm -rf ./${dir}
mkdir ./${dir}
# bam
cat dm/bam/bam_dm_db_create.sql >./${dir}/bam_dm_db_create.sql
cat >>./${dir}/bam_dm_db_create.sql<<hcs
exit;
hcs
cat dm/bam/bam_dm_20.0.2_all.sql >./${dir}/bam_dm_20.0.2_all.sql
cat >>./${dir}/bam_dm_20.0.2_all.sql<<hcs
exit;
hcs
# bim
cat dm/bim/bim_dm_db_create.sql >./${dir}/bim_dm_db_create.sql
cat >>./${dir}/bim_dm_db_create.sql<<hcs
exit;
hcs
cat dm/bim/bim_dm_table_create.sql >./${dir}/bim_dm_table_create.sql
cat >>./${dir}/bim_dm_table_create.sql<<hcs
exit;
hcs
cat dm/bim/business_dm_table_create.sql >./${dir}/business_dm_table_create.sql
cat >>./${dir}/business_dm_table_create.sql<<hcs
exit;
hcs
cat dm/bim/bim_dm_trigger.sql >./${dir}/bim_dm_trigger.sql
cat >>./${dir}/bim_dm_trigger.sql<<hcs
exit;
hcs
cat dm/bim/bim_dm_data_init.sql >./${dir}/bim_dm_data_init.sql
cat >>./${dir}/bim_dm_data_init.sql<<hcs
exit;
hcs
cat dm/bim/business_dm_data_init.sql >./${dir}/business_dm_data_init.sql
cat >>./${dir}/business_dm_data_init.sql<<hcs
exit;
hcs
# epass
cat dm/epass/epass_dm_db_create.sql >./${dir}/epass_dm_db_create.sql
cat >>./${dir}/epass_dm_db_create.sql<<hcs
exit;
hcs
cat dm/epass/epass_dm_20.0.2_all.sql >./${dir}/epass_dm_20.0.2_all.sql
cat >>./${dir}/epass_dm_20.0.2_all.sql<<hcs
exit;
hcs
# apphub
cat dm/apphub/apphub_dm_db_create.sql >./${dir}/apphub_dm_db_create.sql
cat >>./${dir}/apphub_dm_db_create.sql<<hcs
exit;
hcs
cat dm/apphub/apphub_dm_table_create.sql >./${dir}/apphub_dm_table_create.sql
cat >>./${dir}/apphub_dm_table_create.sql<<hcs
exit;
hcs
cat dm/apphub/apphub_dm_data_sample.sql >./${dir}/apphub_dm_data_sample.sql
cat >>./${dir}/apphub_dm_data_sample.sql<<hcs
exit;
hcs
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/bam_dm_db_create.sql
sed -i "s/BAM/BAM${suffix}/g" ./${dir}/bam_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/bam_dm_db_create.sql
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/bim_dm_db_create.sql
sed -i "s/BIM/BIM${suffix}/g" ./${dir}/bim_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/bim_dm_db_create.sql
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/epass_dm_db_create.sql
sed -i "s/EPASS/EPASS${suffix}/g" ./${dir}/epass_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/epass_dm_db_create.sql
sed -i "s/Bamboocloud@1234/kupwd/g" ./${dir}/apphub_dm_db_create.sql
sed -i "s/APPHUB/APPHUB${suffix}/g" ./${dir}/apphub_dm_db_create.sql
sed -i "s/kupwd/${kupwd}/g" ./${dir}/apphub_dm_db_create.sql
$dmdispwd/disql SYSDBA/${sysdbapwd}:${dmport} \`./${dir}/bam_dm_db_create.sql
$dmdispwd/disql SYSDBA/${sysdbapwd}:${dmport} \`./${dir}/bim_dm_db_create.sql
$dmdispwd/disql SYSDBA/${sysdbapwd}:${dmport} \`./${dir}/epass_dm_db_create.sql
$dmdispwd/disql SYSDBA/${sysdbapwd}:${dmport} \`./${dir}/apphub_dm_db_create.sql
# bam 跑库表
$dmdispwd/disql BAM${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/bam_dm_20.0.2_all.sql
# bim 跑库表
$dmdispwd/disql BIM${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/bim_dm_table_create.sql
$dmdispwd/disql BIM${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/business_dm_table_create.sql
$dmdispwd/disql BIM${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/bim_dm_trigger.sql
$dmdispwd/disql BIM${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/bim_dm_data_init.sql
$dmdispwd/disql BIM${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/business_dm_data_init.sql
# epass跑库表
$dmdispwd/disql EPASS${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/epass_dm_20.0.2_all.sql
# apphub跑库表
$dmdispwd/disql APPHUB${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/apphub_dm_table_create.sql
$dmdispwd/disql APPHUB${suffix}/"\'""${kupwd}""\'":${dmport} \`./${dir}/apphub_dm_data_sample.sql
其中 $dmdispwd/disql APPHUB${suffix}/${kupwd}😒{dmport} `./${dir}/apphub_dm_table_create.sql
${kupwd} 中有特殊字符 @ 导致一直连接数据库失败 请问怎么破解
好吧 使用shell 运用eval 可以解决这个问题 天知道我怎么整出来的 呜呜呜
dy="'"
sy='"'
# bam 跑库表
eval "$dmdispwd/disql BAM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bam_dm_20.0.2_all.sql"
# bim 跑库表
eval "$dmdispwd/disql BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bim_dm_table_create.sql"
eval "$dmdispwd/disql BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/business_dm_table_create.sql"
eval "$dmdispwd/disql BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bim_dm_trigger.sql"
eval "$dmdispwd/disql BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/bim_dm_data_init.sql"
eval "$dmdispwd/disql BIM${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/business_dm_data_init.sql"
# epass跑库表
eval "$dmdispwd/disql EPASS${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/epass_dm_20.0.2_all.sql"
# apphub跑库表
eval "$dmdispwd/disql APPHUB${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/apphub_dm_table_create.sql"
eval "$dmdispwd/disql APPHUB${suffix}/$dy$sy${kupwd}$sy$dy:${dmport} \\\`./${dir}/apphub_dm_data_sample.sql"
可以参考下这种方式:
${db_bin}/disql -s ${DB_USER}/‘’${DB_PWD}‘’@${HOST_IP}:$PORT_NUM `${SCRIPT_PATH}/db_version.sql
这样试了一下还是不行 报错