Por que não há expansão de shell?

-1

Por que o bash não pode expandir * ? Desejo remover todos os arquivos sites-* , exceto o último, mas gostaria de testar a expansão antes de executar o comando e rm não possui a opção --dry-run :

$ ls -la
total 1856
drwxr-xr-x  4 dotancohen dotancohen  12288 Jun 11 13:33 .
drwxrwxr-x 28 dotancohen dotancohen   4096 Jun  6 18:04 ..
-rw-r--r--  1 dotancohen dotancohen   3072 Jun 10 15:07 sites-1402402025.sqlite3
-rw-r--r--  1 dotancohen dotancohen   7168 Jun 10 15:08 sites-1402402111.sqlite3
-rw-r--r--  1 dotancohen dotancohen  12288 Jun 10 15:13 sites-1402402393.sqlite3
-rw-r--r--  1 dotancohen dotancohen   9216 Jun 10 15:15 sites-1402402493.sqlite3
-rw-r--r--  1 dotancohen dotancohen   9216 Jun 10 15:16 sites-1402402540.sqlite3
-rw-r--r--  1 dotancohen dotancohen 592896 Jun 10 15:48 sites-1402403316.sqlite3

$ ls sites-1402402402*
ls: cannot access sites-1402402402*: No such file or directory

$ echo rm sites-1402402402*
rm sites-1402402402*

$ echo sites-1402402402*
sites-1402402402*

$ find sites-1402402402\*
find: 'sites-1402402402*': No such file or directory

Eu sei que eu poderia usar a opção -i com yes no canalizada para ela, mas gostaria de diagnosticar esse problema de expansão. Eu não tenho nenhuma configuração incomum de Bash, embora eu não possa simplesmente desabilitar .bashrc por razões não relacionadas no momento. Portanto, eu pergunto o que pode impedir o Bash de realizar a expansão do shell ?

    
por dotancohen 11.06.2014 / 12:47

1 resposta

4

Seu comando ( ls sites-1402402402* ) está errado.

O correto é,

ls sites-140240*

OR

ls sites-14024020*

Quando você executar este comando ls sites-1402402402* , ls , tente procurar os nomes de arquivos que devem ter sites-1402402402 em seus nomes. Mas este não aparece realmente nos seus nomes de arquivo. Por isso, não produz nenhum erro de arquivo ou diretório. Mas se você executar o comando ls sites-140240* , ls listará todos os nomes de arquivos iniciados com sites-140240 ( O caractere * serve como um "curinga" para expansão de nome de arquivo em globbing ). / p>     

por Avinash Raj 11.06.2014 / 12:52