Как в bash скрипте выполнить результаты grep?

grep  "^\$DB.*;" /home/bitrix/ext_www/site.ru/bitrix/php_interface/dbconn.php | sed 's/;//g'


вывод
$DBType = "mysql"
$DBHost = "localhost"
$DBLogin = "site"
$DBPassword = 'pYa%W&cwsA]kK[QH'
$DBName = "dbcentre"
$DBDebug = false
$DBDebugToFile = false


Теперь хочу эти переменные получить к себе в скрпит
Как сделать этот вывод частью своего скрипта ?
  • Вопрос задан
  • 310 просмотров
Решения вопроса 2
Что-то типа этого
eval `sed -rn 's/^\$(DB.+);$/\1/p' /home/bitrix/ext_www/site.ru/bitrix/php_interface/dbconn.php`
Ответ написан
saboteur_kiev
@saboteur_kiev Куратор тега bash
software engineer
Ну это же именно то место, где регулярки как раз справляются, чего бы ее, родимую, и не написать?

function get_value {
  grep -Po "\\\$${1}\S+\s*=\s*\K.*(?=\s*;)" filename
}

DBType=$( get_value DBType )
DBHost=$( get_value DBHost  )
DBPassword=$( get value DBPassword )
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
грепаем >>(добавляем в нужный файл)суперпупер
зы
добавит в конец файла
если нужно "именно куды запихнуть",(начало/конец/вместо/между строк)
тады сед или пёрл
сначало добавить выхлоп греп в файл,
уже потом его исполнять
зы
не понятен вопрос, с подвохом?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы