Это зависит от самой программы; операционная система не определяет, имеет ли значение порядок.
Набор опций GCC настолько колоссален, что я не могу сказать с какой-либо достоверностью, можете ли вы предоставить любую опцию в произвольном порядке; вам придется прочитать документацию для этого варианта. Тем не менее, общее практическое правило заключается в том, что если у вас есть два или более взаимоисключающих варианта (например, -O1 -O2
для разных уровней оптимизации), программы, как правило, будут использовать более поздние варианты по сравнению с более ранними. Опять же, это не обеспечивается Linux.
Простая программа, которая позволяет вам указать большинство параметров в любом порядке ls
. Вывести список всех файлов в текущем каталоге с подробностями можно с помощью либо ls -la
, ls -al
либо ls -l -a
. Однако ls -l1 (то есть 'el' 'one') не дает такой же вывод, как ls -1l ('one' 'l'). Это взаимоисключающие опции, и последний из перечисленных выше едет первым.
Существует также странная программа, которая применяет параметры к аргументам по мере их поступления. Так, например, вы можете иметь гипотетический команду, blah -a 1 2 -b 3
где -a
применяется ко всем трем аргументам, но -b
относится только к 3
.
Опять же, это зависит от конкретной программы. Если вы когда-либо не уверены, прочитайте документацию.