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 address@hidden
<mailto:arkanon%40ceat.net> ----.-----------
P@ulo Roberto Bagatini _`\<, www.ceat.net/~arkanon \
-=---=---==---=---=- (_)/(_) Phone +55 51 3748 7000 `--------
Lajeado - RS - Brasil --------- ICQ 34 789 30 - LinuxUser 102.514
----------------------------------------------------------