1.unary operator expected
此类错误经常发生在 if 语句之后的条件测试语句中
比如:
if [ $1 -eq 0 ]
就会引发 unary operator expected 错误
解决方法:
用双中括号
if [[ $1 -eq 0 ]]
这是因为如果变量未被赋值,则变成中括号与0进行比较,编译器不识别此语句,从而报错
[ -eq 0
2.调试shell
与其他编程语言,在调试时可以用将某个变量打印出来检查程序是否达到自己预期的目的,通常可以使用 echo 语句打印变量值,但如果要操作的是十六进制变量的话,用
printf "0x%x\n" $val
即可打印十六进制变量