Какую оболочку мне следует изучить для FreeBSD и Debian?

Какую оболочку мне следует изучить для FreeBSD и Debian?

Я прочитал много статей, в которых говорится, что официальная оболочка в FreeBSD — tcsh, а в Debian — dash. Однако, когда я либо echo $shell(FreeBSD), либо envв Debian, он говорит, что оболочка cshв первом случае, либо bashв Debian.

Это в свежих установках. Я тестировал под учетной записью root и учетной записью обычного пользователя. Также, когда я создаю новую учетную запись в FreeBSD, у меня есть выбор из 3 оболочек; sh, cshили tcsh. Если я не делаю выбора, cshэто значение по умолчанию для учетной записи.

Какая официальная, стандартная оболочка в этих системах? Это tcshили cshв FreeBSD? Это dashили bashв Debian?

Это я что-то не так делаю? Или статьи и сайты дезинформируют?

Я хочу изучить две оболочки: одну для Debian и одну для FreeBSD, но не могу найти, какую из них мне следует изучить, поскольку неясно, какая из них является официальной.

Также, пока я искал, какую оболочку мне следует изучить, я нашел это:http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ Это кто-то, кто нам просто не нравится csh, или нам действительно следует его избегать csh?

Я использую последние версии Debian и FreeBSD.

Я начинаю теряться во всех этих вариантах оболочки, они все кажутся мне одинаковыми (за исключением синтаксиса; я имею в виду, что они все предлагают одинаковые возможности). Вот почему я хочу изучить официальную.

решение1

Вам совершенно не нужно использовать оболочку по умолчанию для данной системы. И Debian, и FreeBSD предоставляют ряд различных оболочек, и большинство или все из них доступны в обоих, либо предустановленные, либо легко устанавливаемые.

Следите за именованием. Нередко бывает так, что /bin/cshна самом деле это tcsh, или /bin/shbash, или ksh.

sh, оболочка Bourne, является старейшей оболочкой Unix, которая до сих пор широко используется. bashВероятно, является наиболее широко используемой производной от sh; kshи zshтакже широко распространены.

csh, оболочка C, была разработана для BSD Биллом Джоем. Она имеет некоторые функции, которые делают интерактивное использование более удобным, чем sh(или, по крайней мере, чем старая версия , shсуществовавшая в то время). tcshявляется производной от csh, и добавляет много новых функций, большинство из которых нацелены на интерактивное использование. Как вы видели, прочитавcsh.почему бы не, csh и tcsh имеют некоторые проблемы, когда дело доходит до их использования для написания скриптов, а не в интерактивном режиме.

Лично я начинал с csh, а затем перешел на tcsh, когда он стал доступен. Теперь я редко использую csh для скриптинга, предпочитая sh или bash (или Perl для чего-то достаточно сложного).

(Обновление, несколько лет спустя: с тех пор я отказался от tcsh и теперь использую bash в интерактивном режиме.)

Мой совет — выбрать одну оболочку и хорошо ее изучить, используя ее как на FreeBSD, так и на Debian. Если вы выберете tcsh, я думаю, вам придется установить ее на Debian: sudo apt-get install tcsh. Если вы выберете bash, я не знаю, предустановлена ​​ли она на FreeBSD; если нет, то установить ее должно быть так же просто.

Использовать одну и ту же оболочку в интерактивном режиме и для написания скриптов необязательно, но это поможет избежать путаницы и сократить время обучения.

ksh, вероятно, примерно такой же мощный, как bash, а zsh еще мощнее (и имеет множество функций, на изучение которых я никогда не тратил время).

Я предлагаю bash, как для FreeBSD, так и для Debian (и для любых других Unix-подобных систем, которые вы можете использовать), и для интерактивного использования и скриптинга. Но другие варианты вполне допустимы, и некоторые из них могут подойти вам лучше.

Связанный контент