第一个if条件判断 应该是 -n 吧? -z是判断为空则执行,-n是判断不为空。不过奇怪的是后面运行没错,什么情况?
! -n 相当于 -z
程序是if [ ! z "$name" -a ! z "$num" -a ! z "$pass" ]
前面有个非,判断不是空为真。你的问题是这个吗?