
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 -h
não é uma opção para a while
palavra-chave, mas para o utilitário [
(e ). test
O 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 test
e [
e o padrão POSIXdescreve issoigual a:
-h pathname
Verdadeiro se
pathname
resolver uma entrada de diretório existente para um link simbólico. Falso sepathname
não puder ser resolvido ou sepathname
for resolvido para uma entrada de diretório existente para um arquivo que não seja um link simbólico. Se o componente finalpathname
for 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 while
loop fará um loop até que o valor na variável SOURCE
não se refira mais a um link simbólico.