[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: RES: [shell-script] Erro no shell script
From: |
Fábio Batista |
Subject: |
Re: RES: [shell-script] Erro no shell script |
Date: |
Tue, 22 Feb 2005 16:21:19 -0300 |
Retirado do man page do bash:
If bash is invoked with the name sh, it tries to mimic the
startup behavior of historical versions of sh as closely as possible,
while conforming to the POSIX standard as well. When invoked as an
interactive login shell, or a non-interactive shell with the --login
option, it first attempts to read and execute commands from
/etc/profile and ~/.profile, in that order. The --noprofile option
may be used to inhibit this behavior. When invoked as an
interactive shell with the name sh, bash looks for the variable ENV,
expands its value if it is defined, and uses the expanded value as the
name of a file to read and execute. Since a shell invoked as sh
does not attempt to read and execute commands from any other startup
files, the --rcfile option has no effect. A non-interactive shell
invoked with the name sh does not attempt to read any other startup
files. When invoked as sh, bash enters posix mode after the startup
files are read.
Fábio David Batista
address@hidden
http://nerd-o-matic.blogspot.com
On Tue, 22 Feb 2005 16:18:51 -0300, Fábio Batista
<address@hidden> wrote:
> On 22 Feb 2005 14:50:07 -0300, Gustavo Chaves <address@hidden> wrote:
> > >>>>> On Tue, 22 Feb 2005 13:29:32 -0300, "Renato L. Sousa"
> > <address@hidden> said:
> >
> > > Hummmm... Estou usando o bash (/bin/bash), e pelo q vi o sh no linux é
> > > um link pro bash, então deveria funcionar, não ???
> >
> > Acho que sim. Mas consegui reproduzir seu problema aqui. Também não
> > entendi... parece que a bash não entende o redirecionamento de
> > processos depois de um while...done.
> Não é tão simples assim. sh é um link, sim, para o bash, mas o bash,
> quando roda, idenfica com que linha de comando ele foi executado. Se
> foi com sh, ele roda no "sh mode". Vejam:
>
> [fabio@elefante testes]$ cat subs_proc.sh
> #!/bin/sh
> while read dirname
> do
> echo "Diretório $dirname"
> done < <(ls /home)
>
> [fabio@elefante testes]$ cat subs_proc.bash
> #!/bin/bash
> while read dirname
> do
> echo "Diretório $dirname"
> done < <(ls /home)
>
> [fabio@elefante testes]$ ./subs_proc.sh
> ./subs_proc.sh: line 5: syntax error near unexpected token `<'
> ./subs_proc.sh: line 5: `done < <(ls /home)'
>
> [fabio@elefante testes]$ ./subs_proc.bash
> Diretório anderson
> Diretório andre
> Diretório contabnet
> Diretório fabio
> Diretório felipe
> Diretório fernando
> Diretório graziele
> Diretório jerry
> Diretório michel
> Diretório novelli
> Diretório oracle
> Diretório otavio
> Diretório priscila
> Diretório rosane
> Diretório subversion
> Diretório suprifattus
> Diretório trac
> Diretório zilio
>
> Fábio David Batista
> address@hidden
> http://nerd-o-matic.blogspot.com
>