Por que não encontra trabalho recursivamente com um curinga sobre SSH? [duplicado]

0

Estou conectado a um servidor do CentOS por meio do SSH do macOS. Quando tento find com um caractere curinga no início, parece pesquisar apenas a corrente diretamente, sem recursão. Mas se eu colocar o curinga no final do nome do arquivo, ele funciona. Eu não tenho esse problema no Mac local.

# find . -name *.inc
./copra_xml_gen.settings.inc
#
# find . -name auth.inc
./common_v4/auth.inc
./v5_old/common/auth.inc
./common/auth.inc
./v6/common/auth.inc
./v5/common/auth.inc
#
# find . -name auth*
./common_v4/auth.inc
./v5_old/common/auth.inc
./common/auth.inc
./v6/common/auth.inc
./v5/common/auth.inc
    
por Elliott B 15.06.2018 / 18:02

1 resposta

2

O shell está executando a expansão de nome de arquivo antes de invocar find . Consulte o link

Você quer proteger o padrão do shell:

find . -name '*.inc'

ou

find . -name \*.inc

No seu diretório atual:

  • você tem um arquivo que corresponde a *.inc e o shell substitui essa palavra pelo nome de arquivo real em seu comando find.
  • você não tem um arquivo que corresponde a auth* , então o padrão não foi substituído.
por 15.06.2018 / 18:11