Olah, Reinaldo Carvalho wrote: > Eu acho que ele quis perguntar, quantos bytes eu posso por em uma > variável do bash. (considerando que não foi configurado nenhum limite > de alocação de memória do security/limits.conf) > > tipo assim.. > a=a > i=0 > while true ; do a=$a$a ; let i++ ; echo \$a contem $i bytes ; done > > até onde isso vai? hehehe
Acredito q esse limite seja a memoria do sistema. Veja alguns testes: [begnini 0 coke tmp]$ echo $BASH_VERSION 3.00.16(1)-release [begnini 0 coke tmp]$ ls -lh file -rw-r--r-- 1 begnini begnini 50M 2006-02-02 12:01 file [begnini 0 coke tmp]$ a=`cat file` [begnini 0 coke tmp]$ echo -n "$a" > file2 (varios minutos depois...) [begnini 0 coke tmp]$ diff file file2 [begnini 0 coke tmp]$ Ou seja, consegui criar uma variavel com 50 MB de conteudo sem problema algum, tirando o gasto de memoria, claro. Com um arquivo um pouco maior... [begnini 0 coke tmp]$ ls -lha t -rw-r--r-- 1 begnini begnini 119M 2006-02-02 12:19 t [begnini 0 coke tmp]$ a=`cat t` (alguns minutos depois...) [begnini 0 coke tmp]$ ps aux | grep bash bash: fork: Não foi possível alocar memória Ae a maquina morre :) Versoes antigas do BASH tinham limite no tamanho da variavel. Se nao me engano BASH 2.0 tinha como limite 64 kb. PS: algo interessante eh a alocacao de memoria do BASH. Mesmo depois de ter dado um unset a ou a="", o BASH continuava gastando quase a mesma quantidade de memoria. P/ liberar a memoria do sistema, apenas matando o shell. []s Humberto Pereira --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: [EMAIL PROTECTED] --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html