patrick escreveu em 10-02-2008 13:20:
> Tá agora tenta ele dentro de um  "if" e v se funciona.

Ta meio surreal essa conversa, hehe.

Eu uso unix e faco scripts desde 93. Nunca tive problemas com isso, seja 
no sunos, solaris, freebsd, linux, darwin (macos),...

No maximo, e nao sei se eh o seu problema, acontece isso:

--
$ ls p*
p2030001.jpg  p2030025.jpg  p2030050.jpg  p2030077.jpg  p2040102.jpg 
p2040127.jpg  p2050152.jpg  p2050177.jpg  p2050202.avi  p2050227.jpg
$ ls "p*"
ls: impossível acessar p*: Arquivo ou diretório não encontrado
--

Ou seja, tanto ta linha de comando, como dentro de um script, no if, 
case, atribuicao para variavel, o q for, so nao fuinciona qdo o * esta 
entre aspas.

O ~ (~arkanon) eh o mesmo caso. Entao, caso as aspas sejam necessarias, 
deixo esses coringas fora delas:

--
$ touch "linha 1" "linha 1 ab" "linha 1 ac" "linha 2"
$ ls -1 linha*
linha 1
linha 1 ab
linha 1 ac
linha 2
$ ls -1 "linha 1*"
ls: impossível acessar linha 1*: Arquivo ou diretório não encontrado
$ ls -1 "linha 1 a"*
linha 1
linha 1 ab
linha 1 ac
--

> Renato S. Yamane escreveu:
>> patrick escreveu:
>>> Realmente o * não funciona no shell script somente em linha de comando.
>>> Nem no mv e nem no cp. Já testei as duas maneiras.
>> ===script.sh===
>> #!/bin/bash
>> touch alisson.txt
>> touch alisson2.txt
>> mkdir lixo
>> mv alisson* lixo/
>> ================
>>
>> $ ./script.sh
>> $ ls lixo/
>> alisson2.txt alisson.txt
>>
>> Portanto, aqui no Debian 4.0r2 os coringas funcionam perfeitamente.

-- 
------------------------    __o    [EMAIL PROTECTED]  ----.-----------
  [EMAIL PROTECTED] Roberto Bagatini   _`\<,    www.ceat.net/~arkanon  \
   -=---=---==---=---=-   (_)/(_)   Phone +55 51 3748 7000  `--------
  Lajeado - RS - Brasil  ---------  ICQ 34 789 30 - LinuxUser 102.514
---------------------------------------------------------------------

Responder a