Я полагаю, что это может быть простым вопросом, но я посмотрел везде и попробовал некоторые обходные решения, но я все еще не решил проблему.
Описание проблемы: Я должен заменить символ в файле, и я могу сделать это легко использование командной строки:
sed -e 's/pattern1/pattern2/g' full_path_to_file/file
Но когда я использую ту же строку в сценарии удара, я, может казаться, не могу заменить ее, и я не получаю сообщение об ошибке, просто содержание файла без замены.
#!/bin/sh
VAR1="patter1"
VAR2="patter2"
VAR3="full_path_to_file"
sed -e 's/${VAR1}/${VAR2}/g' ${VAR3}
Любая справка ценилась бы.
Большое спасибо в течение Вашего времени.
Попробуйте
sed -e "s/${VAR1}/${VAR2}/g" ${VAR3}
Ссылка на Bash говорит:
Символы ‘$’ и ‘'’ сохраняют свое особое значение в двойных кавычках
Таким образом, он сможет разрешить ваши переменные