Глава 3 · Ваша первая программа на Python
Семейство командных оболочек
cmd.exe, PowerShell, Bash, Zsh, Fish — коротко о том, где вы их встретите и что это вообще такое.
Раз уж мы заговорили про shell — коротко познакомимся с самыми распространёнными. Цель этого раздела не в том, чтобы выучить синтаксис каждой из них, а в том, чтобы узнавать их по имени и понимать, где вы их встретите.
| Shell | Где встречается | Что это |
|---|---|---|
| cmd.exe | Windows (классическая, «Командная строка») | Старейшая командная оболочка Windows; всё ещё встречается в старых инструкциях и корпоративных системах |
| PowerShell | Windows (современная по умолчанию) | Более мощная оболочка от Microsoft с объектно-ориентированным подходом к командам; то, что мы использовали в главе 2 для Windows |
| Bash | Linux (часто по умолчанию), macOS (более старые версии) | Один из самых распространённых shell в мире — почти любой сервер и учебник её знает |
| Zsh | macOS (по умолчанию с 2019 года), популярна на Linux | Похожа на Bash, но с более удобными возможностями «из коробки» (автодополнение, темы оформления) |
| Fish | Linux/macOS (по выбору пользователя) | Дружелюбная к новичкам оболочка с подсказками и подсветкой прямо во время набора команды |
| PySH | Linux/macOS/Windows (устанавливается отдельно) | Python-first оболочка — вместо собственного мини-языка команд использует настоящий Python (раздел 3.4) |
Зачем Python-разработчику вообще это знать
Вы не обязаны учить синтаксис всех shell — но полезно узнавать их по приглашению и названию, когда встречаете в чужих статьях, логах CI/CD или инструкциях по установке. Часто инструкция говорит «выполните в Bash» или «в PowerShell» — и теперь вы точно знаете, что имеется в виду.
PySH — последняя строка таблицы выше, и ей посвящён следующий раздел:
единственная оболочка здесь, написанная как Python-first альтернатива, а не как ещё один
вариант классического shell-языка.
Мы не будем подробно разбирать синтаксис каждой оболочки — это не входит в задачи курса Python. Вместо этого в следующем разделе познакомимся с PySH — оболочкой, которая устроена иначе: вместо своего мини-языка команд она использует настоящий Python.