我已经被函数式编程所迷惑,所以自然地,对于我来说,没有什么东西再合适不过了。 ;)
因此,在bash中可以这样写:
case $status in
"foo") status="bar" ;;
"baz") status="buh" ;;
*) status=$status ;;
esac
但我害怕打错字,所以我更倾向于写成:
status=case $status in
"foo") "bar" ;;
"baz") "buh" ;;
*) $status ;;
esac
第二种形式是无效的,因为该情况评估为最后执行命令的退出代码,这完全不是我想要的。
有没有简单的技巧来实现我所期望的?
set -u
。 - ceving