Оказывается, вы задаете не тот вопрос.Я тоже задал не тот вопрос.Причина, по которой это неправильно, - начало первого предложения: «В моем скрипте bash ...».
У меня был тот же вопрос и я допустил ту же ошибку.Если вы используете bash, вам не нужно использовать sed для замены строк (и гораздо удобнее использовать функцию замены, встроенную в bash).
Вместо:
keysalts=`curl -sS https://api.wordpress.org/secret-key/1.1/salt/`
sed -i "s/{AUTH-KEYS-SALTS}/$keysalts/g" wp-config.php
Вы можете использовать исключительно функции bash, считывая файл в переменную, заменяя текст в переменной и записывая замененный текст обратно в файл:
INPUT=$(<wp-config.php)
keysalts="$(curl -sS https://api.wordpress.org/secret-key/1.1/salt/)"
echo "${INPUT//'{AUTH-KEYS-SALTS}'/"$keysalts"}" >wp-config.php