Portabilidade de $ BASHPID

4

Encontrei algum comportamento inconsistente de $BASHPID conforme abaixo:

# On Mac Yosemite
echo $BASH_VERSION ${BASH_VERSINFO[5]} $BASHPID
# => 3.2.57(1)-release x86_64-apple-darwin14

# On Ubuntu
echo $BASH_VERSION ${BASH_VERSINFO[5]} $BASHPID
# => 4.3.11(1)-release x86_64-pc-linux-gnu 29134

O $BASHPID não está presente no Mac OSX, não é seguro usá-lo para escrever scripts portáteis?

    
por steveyang 14.05.2015 / 21:55

1 resposta

4

A variável interna $BASHPID foi introduzida na versão 4.0 do bash.

Veja o arquivo NEWS no código-fonte do bash:

 397 -------------------------------------------------------------------------------
 398 This is a terse description of the new features added to bash-4.0 since
 399 the release of bash-3.2.  As always, the manual page (doc/bash.1) is
 400 the place to look for complete descriptions.
 401 
 402 1.  New Features in Bash
 403 
 ...
 410 c.  There is a new variable, $BASHPID, which always returns the process id of
 411     the current shell.
    
por 14.05.2015 / 22:10

Tags