nixp.ru v3.0

30 мая 2017,
вторник,
14:00:55 MSK

DevOps с компанией «Флант»
Аватар пользователя Feuerbach
Feuerbach написал 31 марта 2006 года в 20:29 (347 просмотров) Ведет себя как мужчина; открыл 53 темы в форуме, оставил 447 комментариев на сайте.

Есть переменная $x, содержащая слова, разделенные пробелом. Надо бы запустить команду cmd так, чтобы слова $x были ее параметрами.

Просто

cmd $x


делает $x одним большим параметром, экранируя пробелы. Пока что додумался до

echo $x | xargs cmd


Нет ли более естественного способа сделать это?

Пишу под zsh, если это имеет значение.

Genie

как раз zsh это и делает проблемой..

потому как в bash отрабатывается «на ура» вот такое:

$ x="echo this is a test"; $x
this is a test
$
Feuerbach

Точно.

А пока я курю man zsh, объясни плз — как тогда в bash реализуется поведение zsh (т.е. когда надо передать $x как один параметр)?

Feuerbach

В zsh все решилось заменой $x на ${=x}. Про bash все еще интересно :)

Genie
Про bash все еще интересно :)

банально: «$x»