Взгляд со стороны программиста » С точки зрения, сценарий оболочки - это просто еще один язык программирования, где нужно учиться и соблюдать правила языка. Однако я должен признать, что этот синтаксис - самый странный стиль, который я когда-либо видел в довольно часто используемом языке. Оболочка позаимствовала этот синтаксис из более старого языка, от которого она произошла? Есть ли в синтаксисе особое значение / значение?
В качестве примера, вот небольшой фрагмент, который я взял из другого сообщения на SO
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
check_status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
Глядя на это, во-первых, я вижу, что case
заканчивается на esac
, который является его обратной формой (например, if
оканчивается на fi
). Во-вторых, я понимаю, что за каждым случаем следует )
. Достаточно честно, но зачем мне два ;
в конце каждого утверждения? Я бы также сказал, что )
без сопровождающего (
уродлив.
Я ищу дополнительную информацию об историческом аспекте языка, но я открыт для также по техническим причинам.