Onde está '/?' expansão de parâmetro documentada?

0

Eu me deparei com essa estranha expansão de parâmetro para o bash / dash, para a qual não encontro nenhuma referência. Como esse tipo de expansão é chamado? Onde está documentado?

$ /???
bash: /bin: Is a directory
$ /????
bash: /boot: Is a directory
$ /?????
bash: /cdrom: Is a directory
$ /??????
bash: /libx32: Is a directory
    
por Holmes.Sherlock 01.08.2018 / 08:29

1 resposta

5

Esta é a expansão do nome do caminho usando o shell compatibilidade de padrões : ? corresponde a qualquer caractere único, por isso /??? se expande para cada nome de arquivo de três caracteres em / em ordem alfabética.

Isso torna o /bin primeiro na maioria dos sistemas, que é um diretório e não um executável, então você recebe o erro que você postou.

Esse é o mesmo tipo de expansão de * e pode ser útil para casos como cp file??.txt dest , em que um conjunto de arquivos possui uma estrutura comum para seus nomes, com apenas alguns caracteres fixos mudando.

    
por 01.08.2018 / 08:33