csh и sh
Добавлено: 2010-08-10 16:48:21
Чем отличаются csh и sh?
Почему руту дается csh, а пользователям sh?
Почему не ставится один для всех?
Почему руту дается csh, а пользователям sh?
Почему не ставится один для всех?
Каждые 14 миллиардов лет учёные запускают андронный коллайдер
https://forum.lissyara.su/
Встроенными возможностями, плюс разная нотация, при скриптовании или настройке шелла.icb писал(а):Чем отличаются csh и sh?
Во FreeBSD csh (точнее tcsh), часть системы, поэтому рут его получает по-умолчанию. Пользователю,icb писал(а):Почему руту дается csh, а пользователям sh?
А если я не хочу csh, или наоборот - не хочу sh? Или вообще хочу zsh, pdksh поставить? Или bash?icb писал(а):Почему не ставится один для всех?
В /etc/shells они прописаны отдельно, т.е. они все таки разные?Во FreeBSD csh (точнее tcsh), часть системы, поэтому рут его получает по-умолчанию.
По-умолчанию предлагается sh, иначе вопрос бы не возникПользователю, при создании учетной записи можно указать шелл (могу запамятовать, но по-моему тоже предлагается по-умолчанию tcsh)
То что указать можно - оно понятно и необходимо. Но почему именно по-умолчанию разные значения?А если я не хочу csh, или наоборот - не хочу sh? Или вообще хочу zsh, pdksh поставить? Или bash?
Вроде он не ищет, а смотрит список в /etc/shellsсогласен есть еще adduser, скрипт в ходе регистрации пользователя даст выбор шела и перечислит в переменных те что с может найти из установленного.
А ты на сами файлы посмотриicb писал(а):В /etc/shells они прописаны отдельно, т.е. они все таки разные?Во FreeBSD csh (точнее tcsh), часть системы, поэтому рут его получает по-умолчанию.
Там нет ответа на мой вопрос.hizel писал(а):Код: Выделить всё
man adduser man pw man adduser.conf
вообщето пользователю дается тот шелл который ему нужно дать, просто видно по не знанию ключа он не приводится, а по умолчанию подставлен тот шел который был с рождения у ОС, я думаю что просто не было нужды менять стандартную переменную с появлением новых шелов, ибо sh должен быть у каждого и ошибок при случайном не указании шела командой скажем узерадд, не должно возникать. имхоicb писал(а):Почему руту дается csh, а пользователям sh?
у root'а так исторически сложилось[1]. А новым пользователям дается /bin/sh. Стоит отметить, что root (и еще несколько системных пользователей) существуют сразу после установки системы.icb писал(а):почему по-умолчанию разные значения?
Понятно. Тогда действительно актуальным становитсяГость писал(а):у root'а так исторически сложилось[1].
Гость писал(а):почему бы root'у не поставить дефолтный шелл, как и остальным пользователям.
Стандарт не нарушается, а удобство использования расширяется.FreeBSP писал(а):а зачем автодополнение в sh в душе не понимаю - стандарт должен оставаться стандартом!
Код: Выделить всё
ls -lahi /bin/csh
Код: Выделить всё
ls -lahi /bin/csh
ты сам стандарт-то смотрел? ash имеет несколько расширений, коих нет в POSIX shell. Они при портировании скриптов могут намного больше помешать, чем автодополнение, кое доступно только в интерактивном режиме. Самое неприятное - это несовместимость echo в ash, dash, bash. Например, мне из-за этого пришлось прибегать к таким выкрутасам в stumpishFreeBSP писал(а):стандарт должен оставаться стандартом!
Код: Выделить всё
# parse C-style backslash sequences by default
if [ "$(echo -e foo)" = foo ]; then
echo() { builtin echo -e "$@"; }
fi
echo '\0033[1;31m\c'
echo 'Here\c'
echo '\0033[m'
echo 'is\c'
echo an example
Не совпадают.Погляди внимательно, если я правильно помню у них иноды совпадают.