Предположим, вы хотите передать файл в качестве параметра ядру. Имя файла в файле содержит тире в первом символе имени файла (т.е. -Justin
). Если бы вы написали:
kernel-2.3.4 -Justin --
тогда -Justin
будет рассматриваться как _parameter_ ядра (или, может быть, я должен сказать, 'флаг', как написал его убийца). Слава богу, такого параметра (такого флага) не существует.
С другой стороны, вы бы написали:
kernel-2.3.4 -- -Justin
тогда '-Justin` будет рассматриваться как фактический _file [имя] _.
kernel-2.3.4 -param1 -param2 -param3 -- file1 file2 -Justin
Если вы вызываете программу из командной строки, --
используется для информирования программы о том, что _after_ --
будут только имена файлов / некоторые другие объекты (объекты, отличные от «нативных» переключателей для программы - я имею в виду собственные переключатели, я имею в виду т.е. -a -b -c -s и т. д.).