案例陈述的意外行为

时间:2017-06-18 14:38:16

标签: shell switch-statement ksh

我遇到了一些我不理解的案例陈述行为。

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。

0 个答案:

没有答案