bash里的return
当函数hook是一个只有一行return
的空函数,并且hook函数被另一个test函数用在结尾的时候,test的返回结果很有趣:
#!/bin/bash
function test {
ls /notexist >/dev/null 2>&1
hook
}
function hook() {
return
}
hook
echo "hook execute result "$?
test
echo "test execute result "$?
如果没有给return
语句一个显式的code,它返回的是上一次命令的结果。hook函数这里应该用return 0
更严谨一下。