Я хочу найти в конфигурационном файле это выражение: "central.database". Затем я хочу изменить настройку, связанную с «central.database» на «SQLTEST».
Изначально макет конфигурационного файла будет выглядеть следующим образом:
central.database = SQLFIRSTTEST
Я хочу, чтобы он выглядел так после замены sed :
central.database = SQLTEST
Я делаю это в сценарии bash, любые предложения, рекомендации или альтернативные решения приветствуются!
(На самом деле и central.database
, и SQLTEST
берутся из переменных bash здесь.)
Мой текущий код (третья попытка):
sshRetValue=$(ssh -p "35903" -i $HOME/sshids/idrsa-1.old ${1} <<EOF
sed -i "s/^\($CENTRAL_DB_NAME\s*=\s*\).*\$/\1$CENTRAL_DB_VALUE/" /home/testing.txt;
echo $?
EOF
)
Сообщение об ошибке:
Pseudo-terminal will not be allocated because stdin is not a terminal.
sed: -e expression #1, char 58: unknown option to `s'
-bash: line 3: EOF: command not found