Форум — Development заменить переменные в текстовом файле на переменые среды в BASH 0 0 Например в файле встречается строчка типа: выатвыта $PWD mvkc bkmfg а нужно: выатвыта /место/где/запущен/скрипт mvkc bkmfg есть ли какойнибудь простой способ? Ссылка
Ответ на: комментарий от phoenix 17.10.08 19:56:49 MSK >eval "echo `cat file`" (here be dragons!) А в файле чисто случайно окажется rm -Rf / :) anonymous (17.10.08 23:54:47 MSK) Показать ответ Ссылка
$ cat test.txt aaa $PWD bbb ccc $USER ddd eee PWD $LANG kuku $PS1 $SHELL meme $ cat test.txt | perl -pe 'while (/(\$\S+)/) { $b=`echo $1`; chomp $b; s!(\$\S+)!$b!;}' aaa /home/sergey bbb ccc sergey ddd eee PWD en_US.UTF-8 kuku /bin/bash meme sdio ★★★★★ (18.10.08 00:47:06 MSK) Показать ответ Ссылка
Ответ на: комментарий от sdio 18.10.08 00:47:06 MSK $PS1 -- в неинтерактивном шеле не определен. sdio ★★★★★ (18.10.08 00:54:32 MSK) Ссылка
Ответ на: комментарий от anonymous 17.10.08 23:54:47 MSK поэтому и dragons phoenix ★★★★ (18.10.08 08:22:12 MSK) Ссылка
DELIMITER=`dd if=/dev/urandom bs=16 count=1 2>/dev/null | base64` FILENAME=test.txt (echo "cat << $DELIMITER"; cat "$FILENAME"; echo "$DELIMITER") | sh rymis ★★ (18.10.08 13:53:42 MSK) Ссылка
За eval спасибо, perl я не понимаю поэтому пробовать не стал. А rymis я так понимаю решил проявить свое аторофированное чувство юмора? Fredy ★ (18.10.08 21:01:05 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от Fredy 18.10.08 21:01:05 MSK > А rymis я так понимаю решил проявить свое аторофированное чувство юмора? почему? У него аналог eval echo. cat << xxx раскрывает переменные, если xxx не в одинарных кавычках. Более того, его решение сохранит индентацию. dilmah ★★★★★ (18.10.08 21:31:51 MSK) Ссылка
Ответ на: комментарий от Fredy 18.10.08 21:01:05 MSK echo испортит пробелы, а мое решение нет. К сожалению я забыл отключить форматирование когда постил. Более того, я не убрал бы даже случайную генерацию разделителя: лишняя строчка не мешает. rymis ★★ (18.10.08 22:02:43 MSK) Показать ответ Ссылка
Ответ на: комментарий от rymis 18.10.08 22:02:43 MSK я просто не понимаю как это работает, зачем вообще $DELIMITER ??? Fredy ★ (18.10.08 22:28:55 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от Fredy 18.10.08 22:28:55 MSK Упс разобрался, что сам дурак. Прошу прощения... За вариант спасибо. Fredy ★ (18.10.08 22:43:31 MSK) автор топика Ссылка