Как распечатать аргументы, переданные скрипту настройки?

Я пытаюсь распечатать аргументы, переданные в сценарий ./configure. Вызов 'echo' в $ BASH_ARGV просто напечатает последний набор аргументов. Например, если я бегу:

./configure --enable-foo --enable-bar

echo $ BASH_ARGV выведет только "--enable-bar"

Как мне распечатать все аргументы? Спасибо!


person Sam    schedule 24.05.2010    source источник
comment
BASH_ARGV явно специфичен для bash. Сценарии настройки должны соответствовать оболочке Bourne.   -  person alternative    schedule 25.05.2010
comment
Как это сделать через оболочку Bourne?   -  person Sam    schedule 25.05.2010
comment
Вы можете получить их от config.log? Я только что проверил, и там отображаются аргументы.   -  person Pat Wallace    schedule 25.05.2010
comment
Да, я мог бы использовать cat и grep, чтобы получить аргументы, но это кажется очень хакерским. Мне интересно узнать, как configure смог сохранить там аргументы.   -  person Sam    schedule 25.05.2010


Ответы (3)


Вы можете использовать $ @ и $ * для ссылки на параметры.

echo "$@"; должен это сделать. Дополнительная информация здесь

person Decio Lira    schedule 24.05.2010
comment
Похоже, это не работает. При повторении $ @ будет просто выведено 'dummy make' - person Sam; 25.05.2010
comment
вы используете двойные кавычки? - person Decio Lira; 25.05.2010
comment
В этом случае кавычки не нужны. - person Dennis Williamson; 25.05.2010
comment
полезно, если в параметрах есть пробелы. Но это не так. - person Decio Lira; 25.05.2010

Есть переменная ac_configure_args, которая содержит то, что мне нужно. Спасибо всем за помощь.

person Sam    schedule 25.05.2010

Поскольку это массив, вам нужно сделать это, чтобы получить все элементы:

echo ${BASH_ARGV[@]}

или используйте цикл для их обхода.

Примечание: они будут выводиться в обратном порядке.

person Dennis Williamson    schedule 24.05.2010