为什么:
[ "a" != "$(printf "\na")" ] && echo true || echo false
打印true
时:
[ "a" != "$(printf "\n")a" ] && echo true || echo false
打印false
?
为什么:
[ "a" != "$(printf "\na")" ] && echo true || echo false
打印true
时:
[ "a" != "$(printf "\n")a" ] && echo true || echo false
打印false
?
我想是因为
$(...)
。该替换会自动删除结尾的换行符。这是一个很好的默认行为。