$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.

関連情報