Existe um único UNIX registrado em 2003 que não pode executar rm -- -foo neste momento?

Existe um único UNIX registrado em 2003 que não pode executar rm -- -foo neste momento?

Estou tentando dissipar issoincertezatenho sobre o uso dotraço duplo(dois hífens, --) como um delimitador de fim de opções (em oposição a umprefixo de opção longa). É possível que tenha surgido alguma confusão quando alguém leu que opções longas são umaGNUconvenção e opções longas começam com --. Mas isso não tem relação com ofim da opçãodelimitador.

O uso de Which é totalmente compatível comIEEE Std 1003.1, 2013 Diretriz de sintaxe de utilitário 10:

O primeiro argumento -- que não é um argumento de opção deve ser aceito como um delimitador indicando o fim das opções. Quaisquer argumentos seguintes devem ser tratados como operandos, mesmo que comecem com o caractere '-'.

Então, pode-se olhar as rmpáginas de manual paraOSX(ouFreeBSD),AIX,SolariseHPUX- o conhecido Unices registrado no UNIX '03:

  • OSX, AIX e Solaris 1 referem-se ao --delimitador literalmente emhomem, rm
  • HPUX não discute isso emhomem, rmmas possui outros comandos que permitem o referido delimitador(comotouch)

Existe um únicoUNIX 03 produto registradoo que não posso fazer rm -- -foohoje? É Solaris...HPUX? Eles podem fazer isso mesmo que não documentem? Podemos generalizar isso para todos os comandos dessas plataformas neste momento?


1. O manual do Solaris 11 diz em nota final: Se um - - e um - aparecerem na mesma linha de comando, o segundo será interpretado como um arquivo.E há um espaço entre os dois primeiros hífens. É apenas o hífen ou qualquer coisa que comece com o hífen neste contexto e que seria interpretado como um arquivo?

Responder1

Do Solaris 10:

~ touch testfile
~ rm -- testfile
~ ls testfile
testfile: No such file or directory
~ touch testfile
~ rm -- -f testfile
-f: No such file or directory
~ ls testfile
testfile: No such file or directory
~ rm - - -f testfile
-: No such file or directory
-f: No such file or directory
testfile: No such file or directory
~

Então, para responder sua pergunta, no Solaris 10, se a segunda instância começar com um hífen, ela será tratada como um arquivo.

informação relacionada