Я поймал ошибку функционального программирования, поэтому, естественно, для меня ничего хорошего не достаточно.;)
Итак, в bash можно написать:
case $status in
"foo") status="bar" ;;
"baz") status="buh" ;;
*) status=$status ;;
esac
но я боюсь опечаток, поэтому предпочитаю писать:
status=case $status in
"foo") "bar" ;;
"baz") "buh" ;;
*) $status ;;
esac
Вторая форма недействительна, так как случай оценивает код выхода последней выполненной команды, что совсем не то, что я ищу.
Есть ли легкие хаки для достижения того, что я am ищет?