Parâmetro "-h" na condição "while" do shell script

Parâmetro "-h" na condição "while" do shell script

Estou tentando entender um script Shell já escrito e encontrei a seguinte linha.

while [ -h "$SOURCE" ];

O que preciso saber é o significado de-h

Quanto a informações adicionais:

$ FONTE = ./meu-script.sh

Responder1

A -hnão é uma opção para a whilepalavra-chave, mas para o utilitário [(e ). testO significado da opção é descrito no manual do test, [ou do seu shell (uma vez que estes são utilitários comumente integrados), consulte man test.

É umpadrãoopção para teste [e o padrão POSIXdescreve issoigual a:

-h pathname

Verdadeiro se pathnameresolver uma entrada de diretório existente para um link simbólico. Falso se pathnamenão puder ser resolvido ou se pathnamefor resolvido para uma entrada de diretório existente para um arquivo que não seja um link simbólico. Se o componente final pathnamefor um link simbólico, esse link simbólico não será seguido.

Em suma, avaliaverdadeirose o nome do caminho fornecido for um link simbólico, seu whileloop fará um loop até que o valor na variável SOURCEnão se refira mais a um link simbólico.

informação relacionada