这是试图找出 read 实用程序在多个 shell 中是如何工作的。发现了一个对我来说似乎是错误的差异。
结果是破折号保留带有读取的尾随空格:
dash: <a b >
bash: <a b>
简而言之:为什么这段代码在 bash 和 dash 读取中的表现不同?
dash -c 'echo " a b " | { read var; echo "<$var>"; }'
bash -c 'echo " a b " | { read var; echo "<$var>"; }'