私はスクリプトを持っています:
#!/bin/bash
{ read a
read b
} <<< $(echo a; echo b)
declare -p a b
私はそれを に書きましたf、した、そしてと が同一になることをchmod +x ./f期待していました。bash ./f./f
それらはそうではありません:
~/dev/test[1]$ ./f
declare -- a="a b"
declare -- b=""
~/dev/test[2]$ bash ./f
declare -- a="a"
declare -- b="b"
bash ./fバージョン 5.0.16 を使用/usr/local/bin/bashしており、バージョン 3.2.57 を./f使用していること/bin/bashがわかりました。
これを異なる評価にするために、これらのバージョン間で何が変更されましたか? これは解決されたバグですか?