bash: unknown option: && (проблема при написании скрипта)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

bash: unknown option: &&

Сообщение Babusha »

Пример кода на bash
#!/bin/bash
build="./configure && make"
cd source
$build

unknown option: &&
./configure --help for help

Как решить проблему?
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: bash: unknown option: &&

Сообщение t.t »

Баш обрабатывает && раньше, чем кавычки.

Код: Выделить всё

$ e="echo 1 && echo 2"
$ $e
1 && echo 2
$ eval $e
1
2
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
ZyX
Сообщения: 355
ОС: Gentoo

Re: bash: unknown option: &&

Сообщение ZyX »

Babusha писал(а):
30.06.2010 20:12
Пример кода на bash
#!/bin/bash
build="./configure && make"
cd source
$build

unknown option: &&
./configure --help for help

Как решить проблему?

Использовать eval $build. По-моему, использование $build вместо команды, всегда расценивается как одна команда.

PS: Только сейчас заметил, что eval у t.t уже упомянут.
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: bash: unknown option: &&

Сообщение t.t »

ZyX писал(а):
30.06.2010 23:45
По-моему, использование $build вместо команды, всегда расценивается как одна команда.
Что значит «всегда расценивается»? Я пояснил выше причину такого результата.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали: