Присвойте результат сложной команды переменной - PullRequest
2 голосов
/ 24 мая 2010

У меня довольно простая проблема скриптинга в bash.

Я хочу sed фрагмент текста и затем присвоить результат sed переменной.

#!/bin/bash
MOD_DATE=echo $(date) | sed 's/\ /_/g'
echo $MOD_DATE // should show date with spaces replaced with underscores.

Я пробовал выше, и это не работает. Кто-нибудь может указать, что я делаю не так?

Ответы [ 2 ]

5 голосов
/ 24 мая 2010

Чтобы собрать вывод в stdout в переменную, используйте подстановку команды :

MOD_DATE=`echo $(date) | sed 's/\ /_/g'`
#        ^                             ^

или

MOD_DATE=$(echo $(date) | sed 's/\ /_/g')
#        ^^                             ^
0 голосов
/ 29 августа 2012

Может быть, это может помочь:

mod_date = "$(date +"%d_%m_%Y")"
echo "$mod_date"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...