这是一个试图了解几种不同shell中read实用程序如何工作的尝试。我发现了一个似乎是bug的区别。
结果是,在dash shell中,read保留末尾空格:
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>"; }'