关于linux shell的一个不明白的地方。求解解决思路

关于linux shell的一个不明白的地方。求解C/C++ code#!/bin/shtest(){return 5}if ! test thenecho aaaa

关于linux shell的一个不明白的地方。求解

C/C++ code
#!/bin/shtest(){    return 5}if ! test ; then   echo "aaaaaaa"else   echo "bbbbbbb"fi

运行结果为什么是aaaaaa呢,返回状态是5,取非,那应该输出bbbbbb啊?
初学shell求解

[解决办法]
楼上是错误的。 不管返回是多少 结果一直是bbbbbbbbbbb