Pull to refresh

Comments 29

Busybox это набор самых базовых утилит. Если хочется, так сказать, полного погружения в тему, то надо смотреть в сторону CygWin .

cygwin - это POSIX поверх Win32 со своими артефактами, система в системе. Если хочется просто писать unix-way скрипты, запускающие виндовые программы, busybox вполне себе вариант.

busybox не включает в себя bash, это видно даже на вашем скриншоте со списком всех команд, которые поддерживает ваша сборка busybox

bash там есть, и на скриншоте он тоже есть.

Bash это отдельное приложение, не являющееся частью bb. В bb ash.

Bash со скрина просто alias.

Для пользователя Linux командная строка Windows кажется чем-то непривычным и неудобным.

Кто-то считает её удобной? cp866 передаёт привет!

Несколько наблюдений:


  • если возникает желание (и есть умение) использовать bash, то, возможно, WSL всё таки не самый плохой выбор: по личному опыту, у нас на виндовых машинах вся соответствующая разработка велась в WSL и это было очень удобно
  • если вы используете git в винде, то вроде бы автоматом прилетает gitbash
  • наверняка (но это не точно) есть какая-то приблуда для windows terminal

Да, в WSL всё-таки сильно получше всё с софтом, тем более что по умолчанию там тащится всё от Ubuntu LTS, плюс те же докеры интегрируются в WSL, как и всякие IDE. Но нужно достаточно ОЗУ

git в винде примечателен тем, что в этой сборке есть не только гит, но и, например, прекрасный tig, тогда как в никсах про него нужно отдельно узнать и поставить

Самое пока непонятное остаётся как нормально запускать sh-скрипты прямо из виндового файлменеджера, т.к. нужно на бегу подменять пути

По картинкам видно, WSL у меня тоже стоит, и он используется когда BusyBox не справляется, тут получается удобный симбиоз. Чтобы просто грепнуть файлы в папке или файнд то идти в WSL не очень нужно.

Я случайно нашёл ripgrep, он есть нативный и довольно быстр. Но чаще возможностей поиска в тотале более чем хватает. Другие базовые штуки тоже можно поискать, есть ли порт, который можно положить один раз в C:\bin и прописать в PATH глобально.

Заморачиваться каждый раз гадая в какой консоли что не взлетит ужасно устал. Хватает даже с "родным" для винды повершеллом проблем, когда некоторые вещи работают по разному в v5 и v7 (а ещё нужно вспомнить на бегу, кто из них pwsh, кто powershell). Поэтому по умолчанию всегда подразумеваю наиболее полную и актуальную среду. С unix-like подобиями для винды я намучился вдоволь когда не было нативно OpenSSH и приходилось страдать с Bitwise, cygwin и прочими... и у каждого из них был "свой неповторимый путь" страданий (особенно с путями к дискам и домашней директории) и багов. Есть возможность работать с практически полноценным дистрибутивом - не вижу причин отказываться

А чего там страдать-то было? Putty же есть...

Это клиент, а мне нужен был сервер. К тому же у Putty свой формат ключей и прочие костылики, тогда как штатный агент отлично работает даже на винде с ключами из KeePassXC, JB и прочими штуками. Putty хорош из винды в порты и телнет тыкаться, но для SSH родной клиент сильно приятнее

Теперь если мы запустили терминал из ярлыка или панели задач, то рабочей директорией по умолчанию становится домашняя папка пользователя

А так сложно-то зачем? Неужели сменить рабочую директорию по умолчанию в ярлыке или там в настройках wt религия не позволяет?..

Если поменять папку по умолчанию, то исчезнет возможность открывать терминал в конкретной папке.

Ага, значит надо менять ярлык.

Ярлык не окажет влияния на запуск через Пуск → Выполнить. Вариант из статьи сложнее, но универсальный.

На Linux нет желания перейти?... и искать ничего не придётся. Создание Франкенштейна жизнеспособно только в фильмах.

Не совсем понимаю необходимость подобного скрещивания... поясните, если не сложно.

Например, дома и для петов во всю используешь СПО, но так уж сложилось, что сейчас тебе готовы хорошо платить именно за поддержку какого-нибудь легаси, которое прибито к форточке буквально одной проприетарной либой купленной лет 10 назад. Выдали ноут с фортками и копай... а ты всё равно хочешь иметь возможность использовать все эти привычные тёплые ламповые тулы, запускать всякие штуки типа lnav чтобы видеть сразу все логи (да, у него есть кривоватая сборка для винды, но она глючит)

Ну или тот же докер, куча микросервисов, в линуксовой конфигурации 3Гб в ОЗУ, 2 на диске... переключаешь Docker Desktop на Windows Containers и потребление ОЗУ переваливает за 20Гб, а диска съедается более 60Гб, плюс проблемы с сетью при перезапуске ПК... isolation=process для актуальной десятки так и не завезли. Части образов для Windows нет в принципе в докерхабе, нужно самому собирать или брать какие-то сомнительные поделки...

Из личного - очень страдаю без ShareX и TotalCommander (doublecmd не торт). Очень матерюсь, когда не нахожу тотал и вообще что-то кроме проводника на ПК других разработчиков, когда просят подойти помочь расковырять проблемку. В остальном вполне себе не вижу проблем работать в обеих ОС.

А, ну и ещё у нас локально ГОСы упоролись и всякие налоговые, ФСЗН, некоторые банки, страховые - IE only... спустя полгода после принудительного убийства IE самими майками... Причём кто-то из них для ЭЦП всё ещё требует SSL3, другие не умеют в TLS1.2+

Банально корпоративная почта/мессенджер проприетарные и под Windows, так что виндовый ноутбук нужен - и даже если основной девелопмент на линуксовых серверах, на ноуте образуются файлы которые иногда хочется грепнуть.

В busybox в лучшем случае posix shell (вот не знаю, насколько он posix), до баша ему далеко...

На простые вещи типа for i in `smth | grep нужное | grep -v ненужное`; do ... его вроде хватает.

Это и есть "в лучшем случае posix shell"

Верно. Но башем от этого он не становится. В случае, если захочется что-то более сложное (к примеру, переменные обрабатывать не через A=`echo $B | ....`, а средствами баша, см. https://tldp.org/LDP/abs/html/refcards.html#AEN22828), то уже хрен.

Понятно, что заголовок может ввести в заблуждение, но основной смысл всё таки в том, что если нужно пару раз в неделю сделать простенький find/grep, можно обойтись без WSL или cygwin.

Можно поставить git bash и bashиться через него. У него есть в том числе и автотрансляция слешей в путях и в терминал подключается и большая часть утилит вполне имеется. Ещё и env c основной системой делит.

 создать новый профиль Windows Terminal 

Вот тут надо чуть подробнее пояснить

Sign up to leave a comment.

Articles