Здравствуйте.Столкнулся с проблемой при выводе кавычек в команду:
есть переменная, которая выдает результат:
$moobj = "BSC23ZL:*:*:*", т.е. в кавычках, при попытке вставить переменную в команду:
temp="cnai export valid -i "${domain}"="${moobj}" "${attr_list}" -u YES -eemo YES -PG NO"
где ${domain} и ${attr_list} - просто текстовые переменные (буквы и запятые)...
дает результат при чтении переменной:
cnai export valid -i NREL="BSC23ZL:*:*:*" HIHYST,LOHYST, -u YES -eemo YES -PG NO
но при выводе этой переменной, как команды, дает:
cnai export valid -i 'NREL="BSC23ZL:*:*:*"' HIHYST,LOHYST, -u YES -eemo YES -PG NO
NREL="BSC23ZL:*:*:*" - выделяется '', из-за "", присутствующих в переменной $moobj и из-за этого команда не выполняется должным образом.
если при выводе сделать "$temp", то сама команда cnai (специфическая команда Ericsson) не определяется:
Скрипт:
temp="cnai export valid -i "${domain}"="${moobj}" "${attr_list}" -u YES -eemo YES -PG NO"
$temp
Вывод:
+ temp='cnai export valid -i NREL="BSC23ZL:*:*:*" HIHYST,LOHYST, -u YES -eemo YES -PG NO'
+ cnai export valid -i 'NREL="BSC23ZL:*:*:*"' HIHYST,LOHYST, -u YES -eemo YES -PG NO
или
Скрипт
temp="cnai export valid -i "${domain}"="${moobj}" "${attr_list}" -u YES -eemo YES -PG NO"
"$temp"
Вывод:
+ temp='cnai export valid -i NREL="BSC23ZL:*:*:*" HIHYST,LOHYST, -u YES -eemo YES -PG NO'
+ 'cnai export valid -i NREL="BSC23ZL:*:*:*" HIHYST,LOHYST, -u YES -eemo YES -PG NO'
t2rus_cnai_defaulpar.sh: line 176: cnai export valid -i NREL="BSC23ZL:*:*:*" HIHYST,LOHYST, -u YES -eemo YES -PG NO: command not found
подскажите, пожалуйста, как это исправить? Как сделать вывод без ''?