我遇到了一些我不理解的案例陈述行为。
case [1] in *1*)echo 50;;*)echo 58;;esac
case $b[1] in *1*)echo 50;;*)echo 58;;esac
echo [1] | hexdump -C --
echo $b[1] | hexdump -C --
输出:
50
58
00000000 5b 31 5d 0a |[1].|
00000004
00000000 5b 31 5d 0a |[1].|
00000004
b是一个尚未设置的变量。我想知道为什么这些case语句会产生不同的结果,尽管命令在传递给echo时具有相同的hexdump。