Não é bash, é encontrar; embora você descubra que a maioria dos utilitários seguirá o mesmo princípio:
- Se estiver operando no conteúdo do arquivo, um link simbólico para um arquivo normal é equivalente ao arquivo real.
- Se estiver operando em entradas de diretório, os links simbólicos são uma categoria própria.
Quando você executa find $SYMLINK
, find
vê um objeto que não é um diretório, por isso não o percorre. Se você quiser tratar um link simbólico para um diretório como se fosse esse diretório, adicione um /
no final (alguns sistemas ou comandos quebrados podem exigir "$SYMLINK/."
):
find "$SYMLINK/" -name file.c
Para find
, você também pode usar a opção -H
, que diz para tratar qualquer link simbólico na linha de comando como se você tivesse especificado o destino:
find -H "$SYMLINK" -name file.c