$BASHPID의 이식성

$BASHPID의 이식성

$BASHPID다음과 같이 일관되지 않은 동작을 발견했습니다 .

# 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

Mac OSX는 $BASHPID존재하지 않습니다. 이를 사용하여 이식 가능한 스크립트를 작성하는 것이 안전하지 않습니까?

답변1

내장 변수는 $BASHPIDbash 버전 4.0에서 도입되었습니다.

NEWSBash 소스 코드에서 파일을 봅니다.

 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.

관련 정보