Я поймал ошибку функционального программирования, поэтому, естественно, для меня ничего не достаточно. ;)Операции с аргументом bash оцениваются по строкам
Так, в Баш можно было бы написать:
case $status in
"foo") status="bar" ;;
"baz") status="buh" ;;
*) status=$status ;;
esac
, но я боюсь, опечаток, поэтому я бы предпочел написать:
status=case $status in
"foo") "bar" ;;
"baz") "buh" ;;
*) $status ;;
esac
Вторая форма недействителен, так как случай оценивает код выхода последней выполненной команды, что совсем не то, что я ищу.
Есть ли простые хаки для достижения того, что я утра ищет?
вы просто желающие написать функцию? – thecoshman
Если вы боитесь опечаток, используйте ['set -u'] (https://sipb.mit.edu/doc/safe-shell/) в начале вашей программы. – ceving