Выпущена первая версия баш командера: http://bashc.sourceforge.net/. Прошу любить и жаловать. Уже пару месяцев юзаю под Линуксом, FreeBSD и МакОС. Вполне функционально.
Кстати, сразу вопрос: почему не сделать именно оболочкой с панелями, из которой командная строка сливается в шелл оф зи чойс? Почему реализовано, как расширение некоего шелла?
Csh - дело вкуса, я для скриптов предпчитаю всё же bash. Язык более регулярный, и много полезных расширений именно для скриптописания. Ну или питон, для более серъезных случаев. Но это не имеет отношения к интерактивному шеллу.
Зачем встраивать внутрь шелла - чтобы не реализовывать заново разбор командной строки (а иначе cd и установка переменных нормально не отрабатываются). Не делать своё history, те же jobs, стартовые скрипты. Всё это уже есть в bash, и даже работа с терминалом, благодаря readline. Оставалось добавить чуть-чуть. Баш Командер - это всего 30 килобайт бинарного кода в довесок к /bin/bash.
Можно бы и плагином, но только выигрыша не будет. Ни по объему оперативной памяти, ни по месту в файловой системе... Один геморрой. Да и переносимость пострадает.
Это будет, скорее, как наглядная агитация: «чтобы получился такой Ctrl_o_bash, нужен небольшой патчик, и небольшая .so». Ну и плюс в том, что в случае выхода новой версии, будет достаточно просто обновить ctrl_o_bash.so, а не пересобирать весь SHELL, что, между прочим, может быть чревато боком. Ещё один плюс, это, то, что без .so, ctrl_o_bash будет обычным таким себе bash'ем. :-)
Засада в том, что csh во FreeBSD - это как бы не совсем каноничный csh, знаменитый своими глюками. Это, скорей, нечто более близкое к tcsh, но поддерживающее синтаксис первообразного sh. И оно же является шеллом рута по умолчанию, и от него стартуются все rc-скрипты. Отакое от. Отказываться от него во фре крайне тяжело, а принимая его - отпадает нужда в посторонних шеллах.
Ну, на штатном sh писать скрипты, как раз, неудобно. Поэтому я в /usr/local/etc/rc.d кладу именно #!/bin/csh, как и в cron. А вот посторонний шелл класть не в /usr/bin, а в /bin - есть не оч. хшо.
Нет никакого «линухового». В «линухе», как вы изволите бачить, пишут, в основном на /bin/bash. А что касается «Еще раз», вы извольте прочитать http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ , и проверьте, многое ли изменилось с той поры.
Во фре при вызове man csh выводится ман по tcsh. То, что во фре называется csh, не является "тем самым csh с болячками". Шелл, называемый csh, и штатно поставляемый в /dist/base во фре стабилен и безглючен настолько, что с третьей ветки является шеллом рута по умолчанию. Любые претенции к глюкавости csh имеют смысл, если подразумевается именно классический csh, давно вытесненный tcsh (FreeBSD) и bash (Linux).
no subject
Date: 2008-01-31 09:27 (UTC)no subject
Date: 2008-01-31 09:33 (UTC)no subject
Date: 2008-01-31 09:38 (UTC)no subject
Date: 2008-01-31 10:09 (UTC)Зачем встраивать внутрь шелла - чтобы не реализовывать заново разбор командной строки (а иначе cd и установка переменных нормально не отрабатываются). Не делать своё history, те же jobs, стартовые скрипты. Всё это уже есть в bash, и даже работа с терминалом, благодаря readline. Оставалось добавить чуть-чуть. Баш Командер - это всего 30 килобайт бинарного кода в довесок к /bin/bash.
> Баш Командер - это всего 30 килобайт бинарного кода в д
Date: 2008-01-31 19:02 (UTC)no subject
Date: 2008-01-31 19:24 (UTC)> Можно бы и плагином, но только выигрыша не будет.
Date: 2008-01-31 19:28 (UTC)no subject
Date: 2008-01-31 19:56 (UTC)> Ой, сомневаюсь я. :)
Date: 2008-01-31 19:58 (UTC)Ну, тут чистая психология. :-)
> все скрипты под него заточены.
Date: 2008-01-31 19:00 (UTC)Re: > все скрипты под него заточены.
Date: 2008-02-04 08:43 (UTC)> и от него стартуются все rc-скрипты.
Re: > и от него стартуются все rc-скрипты.
Date: 2008-02-04 09:02 (UTC)root:*:0:0::0:0:Charlie &:/root:/bin/csh
Re: > и от него стартуются все rc-скрипты.
Date: 2008-02-04 09:12 (UTC)$ head -n1 /etc/rc
#!/bin/sh
(Вообще, рекомендую сделать man rc на досуге.)
Re: > и от него стартуются все rc-скрипты.
Date: 2008-02-04 09:31 (UTC)> Ну, на штатном sh писать скрипты, как раз, неудобно.
Date: 2008-02-04 09:42 (UTC)Re: > Ну, на штатном sh писать скрипты, как раз, неудобно.
Date: 2008-02-04 09:53 (UTC)> есть клон tcsh, в отличие от линухового.
Date: 2008-02-04 10:02 (UTC)Re: > есть клон tcsh, в отличие от линухового.
Date: 2008-02-04 10:24 (UTC)Во фре при вызове man csh выводится ман по tcsh. То, что во фре называется csh, не является "тем самым csh с болячками". Шелл, называемый csh, и штатно поставляемый в /dist/base во фре стабилен и безглючен настолько, что с третьей ветки является шеллом рута по умолчанию. Любые претенции к глюкавости csh имеют смысл, если подразумевается именно классический csh, давно вытесненный tcsh (FreeBSD) и bash (Linux).
Так понятнее?