1
我在與一個bash腳本一個奇怪的問題,不同的行爲。最小代碼重現它是在這裏:奇詭在bash:內部定界符
#!/bin/bash
function f() {
IFS=. read a b <<<"$1"
echo "a=$a b=$b"
}
f a.b
echo "inside echo: `f a.b`"
cat <<EOT
Inside heredoc: `f a.b`
EOT
預期輸出是:
a=a b=b
inside echo: a=a b=b
Inside heredoc: a=a b=b
,但我得到:
a=a b=b
inside echo: a=a b=b
Inside heredoc: a=a.b b=
缺少什麼我在這裏?
更新: 在我的Mac(3.2.48)按預期工作的慶典。 上我的Debian穩定在bash(4.2.37(1)-release)給出所描述的不協調。
感謝您指出這是一個在bash中的錯誤,而不是我的理智錯誤。 – Niobos