我发现了函数式编程错误,所以自然对我来说没有什么是足够好的了。;)
因此,在 bash 中可以这样写:
case $status in
"foo") status="bar" ;;
"baz") status="buh" ;;
*) status=$status ;;
esac
但我害怕错别字,所以我宁愿写:
status=case $status in
"foo") "bar" ;;
"baz") "buh" ;;
*) $status ;;
esac
第二种形式是无效的,因为 case 评估为最后执行的命令的退出代码,这根本不是我想要的。
是否有简单的技巧来实现我正在寻找的东西?