Почему параметры к 'команде' Bash и 'вводят' дополнительный?

Лучшая вещь состоит в том, чтобы прочитать руководство для Вашего компилятора и посмотреть на опции оптимизации. Обратите внимание, что некоторая оптимизация не даст Вам очень, таким образом, необходимо будет протестировать код после того, как это было скомпилировано. Обратите внимание, что можно заметить ошибки в коде в зависимости от того, какие опции Вы выбираете.

При использовании ICC можно удостовериться в некоторых #pragma опциях в коде, что параллелизировали некоторые циклы.

4
13.04.2017, 15:36
2 ответа

POSIX думает, что параметр команды требуется. Таким образом, это могла быть ошибка.

Спецификация команды POSIX 2008

3
27.01.2020, 20:54

Для command, непосредственное объяснение состоит, вероятно в том, что ksh делает то же самое (по крайней мере, ATT ksh93, pdksh и mksh ничего не делают, когда Вы работаете command без аргумента у меня нет ATT ksh88 для тестирования).

Почему ksh ведет себя тот путь, я не знаю. Предварительное объяснение - это command foo много похож foo, и если Вы не учитываете foo, Вы получаете команду оболочки, которая ничего не делает (но все еще выполняет перенаправления). Странно, с ksh 93 + 31.01.2008 (но не с pdksh, mksh, ударом, пеплом или zsh), ksh -c 'foo=bar command; echo $foo' дисплеи bar, что означает, что присвоение рассматривают как присвоение переменной оболочки и не как присвоение окружения команды. Это поведение ожидается только специальных встроенных утилит, который command не (объяснение объясняет почему не). Это похоже на ошибку в ksh93.

В ksh, builtin отображает список встроенных утилит, который полезен.

type другой случай: это принимает несколько аргументов и сообщает относительно каждого в свою очередь (например. type ls cd). Наличие нулевых аргументов является естественным продолжением этого поведения.

2
27.01.2020, 20:54

Теги

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