echo -n "##### STATIONS? #######"
read station
text="stab_site "
Мне нужно записать echo $text$station
в 27-ю строку текстового файла. Я использовал следующую команду, но она не сработала,
sed -i "27i\$text$station" text.data
она выдает; $textankr ista
Переменная "text" не может быть передана в функции sed.
Это потому, что ваша оболочка интерпретирует \ $
как буквальный (экранированный) знак доллара. Попробуйте использовать
sed -i "27i\\$text$station" text.data
или сочетание одинарных и двойных кавычек
sed -i '27i\'"$text$station" text.data
или буквального перевода строки
sed -i "27i\
$text$station" text.data
(что, на мой взгляд, более корректно с точки зрения POSIX).
Возможно, проблема заключается в пустом выходном файле. Пример :#!/бин/баш
CAMINHO='/etc/scripts/dropbox.log'
RESULTADO=`date +%d/%m/%Y | tr '\n' ' '; dropbox status;`
sed -i "1i\
$RESULTADO" /etc/scripts/dropbox.log
Этот скрипт не может записать в пустой файл dropbox.log.
Запишите текст в файл и снова выполните скрипт.