Vamos supor que você queira passar um arquivo como o parâmetro para o kernel. O nome do arquivo de um arquivo contém um traço no primeiro caractere do nome do arquivo (por exemplo, -Justin
). Se você escrevesse:
kernel-2.3.4 -Justin --
então -Justin
seria tratado como um kernel _parameter_ (ou talvez eu devesse dizer 'a flag', como killermist escreveu). Graças a Deus, tal parâmetro (tal flag) não existe.
Se, por outro lado, você escrever:
kernel-2.3.4 -- -Justin
então '-Justin' seria tratado como um arquivo real [name] _.
kernel-2.3.4 -param1 -param2 -param3 -- file1 file2 -Justin
Se você invocar um programa a partir da linha de comando, --
é usado para informar um programa, que _after_ --
haverá apenas nomes de arquivos / alguns outros objetos (objetos diferentes dos comutadores 'nativos' para o programa - por comutadores nativos eu quero dizer ie -a -b -c -s etc.).