Это - все там на экранной странице справочника:
Можно сделать это из командной строки когда Вы экран "Пуск":
- h цифра
Specifies the history scrollback buffer to be num lines high.
Или из .screenrc файла:
цифра defscrollback
То же как scrollback управляет за исключением того, что настройки по умолчанию для новых окон изменяются. Начальная установка равняется 100.
Или из экрана, с помощью C-a: команда:
цифра scrollback
Установите размер буфера scrollback для текущих окон к цифровым строкам. Значение по умолчанию scrollback является 100 строками. См. также команду "defscrollback" и использование "C-a i" для просмотра текущей установки.
SHELL=newshell; exec "$SHELL"
прием был уже покрыт.
Теперь, если Вы также хотите, чтобы команды, которым работают ssh, использовали Вашу новую оболочку. Если текущая оболочка входа в систему bash
, можно добавить это к Вашему ~/.bashrc
:
if [ -n "$BASH_EXECUTION_STRING" ]; then
export SHELL=/bin/zsh
exec "$SHELL" -c "$BASH_EXECUTION_STRING"
fi
Это выполнится something
с новой оболочкой каждый раз, когда bash
запускается с bash -c something
и это читает ~/.bashrc
.
Оболочки, запущенные с bash -c something
обычно не читайте ~/.bashrc
. Исключение когда они bash
называют sshd
или rshd
, или на bash -ic something
.
Вы могли добавить проверку на [ -n "$SSH_CONNECTION" ]
если Вы только хотите покрыть ssh
случай.
chsh
Обычно можно использовать команду chsh
изменить Вашу оболочку, не имея необходимость иметь доступ к /etc/passwd
. Это - файл, который обычно перечисляет Вашу оболочку по умолчанию, например:
saml:x:500:501:Sam M. (local):/home/saml:/bin/zsh
Обычный пользователь может только изменить оболочку входа в систему для его собственной учетной записи, суперпользователь т.е. пользователь root могут изменить оболочку входа в систему для любой учетной записи. Вы видите, какие оболочки доступны в Вашей системе с этой командой:
$ chsh --list-shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
/bin/zsh
Для изменения оболочки, можно использовать эту команду:
$ chsh -s /bin/zsh saml
Changing shell for saml.
Password:
Shell changed.
Эффект очевиден, если Вы заглядываете /etc/passwd
файл:
$ grep saml /etc/passwd
saml:x:500:501:Sam M. (local):/home/saml:/bin/zsh
Вы не будете сразу видеть изменения. Необходимо будет выйти из системы/войти для наблюдения его:
[saml@grinchy]~% echo $SHELL
/bin/zsh
/usr/bin/passwd -e
Если у Вас нет доступа к команде chsh
который, по-видимому, Вы не делаете на Солярисе, и у Вас нет корневого доступа для изменения его в /etc/passwd
, Вы смогли все еще делать то же с этой командой:
$ /usr/bin/passwd -e
Если ни один из вышеупомянутых методов не является опцией, Вас в основном оставляют с этой последней опцией, которая должна добавить одно из следующих к файлам входа в систему Вашей существующей оболочки:
оболочка по умолчанию:/bin/csh или/bin/tcsh
Добавьте следующие строки к $HOME/.login
:
setenv SHELL=/bin/bash
exec $SHELL
оболочка по умолчанию:/bin/bash
Добавьте следующее к $HOME/.bash_profile
:
export SHELL=/bin/zsh
exec $SHELL
Некоторые дополнительные вещи рассмотреть с вышеупомянутым, можно сделать их более пуленепробиваемыми путем выполнения проверки, чтобы видеть, ли текущий $SHELL уже /bin/bash
например, до установки его. Если это, ничего не сделайте, иначе идите вперед и выполните exec $SHELL
.
passwd -e
не будет работать также, если учетная запись пользователя централизованно не хранится (NIS, LDAP...), который не имеет место здесь.
– jlliagre
28.06.2013, 06:58
passwd -e
изменить мою оболочку в моих системах Соляриса, которые не используют ни NIS, ни LDAP.
– bahamat
28.06.2013, 08:21
exec
в .profile
не приведет к бесконечному циклу, потому что Bash не читает этот файл при вызове этот путь...?
– tripleee
28.06.2013, 08:23
Вы не можете сделать этого с ванильной установкой Соляриса. Простое обходное решение должно было бы изменить Ваш профиль должностному лицу требуемая оболочка.
Например, принятие /etc/passwd
указывает, что Ваша оболочка /bin/bash
но Вы предпочитаете /bin/ksh
:
$ tail -2 ~/.bash_profile
export SHELL=/bin/ksh
exec $SHELL
Остерегайтесь, чтобы не заблокировать Вас с опечаткой или не ввести бесконечный цикл с поддельным должностным лицом или логикой.
$SHELL
также удостоверился бы, что управляет, чтобы запустили оболочку (как xterm
, vi
...) также запускают Вашу новую предпочтенную оболочку.
– Stéphane Chazelas
28.06.2013, 10:38
ssh user@host command
это все еще пытается использовать удар, таким образом, это не будет работать на noglob
и такой материал zsh. Обходное решение к тому - включает оболочку в команду?
– Emanuel Berg
28.06.2013, 23:32
$BASH_EXECUTION_STRING
блок в.bashrc
и "прием" в.profile
работа. – Emanuel Berg 29.06.2013, 00:47[[ $- != *i* ]]
, т.е. этот экземпляр удара не является интерактивным? – Gilles 'SO- stop being evil' 29.06.2013, 01:10bash -ic 'somecommand'
работатьzsh -ic 'somecommand'
вместо этого? – Gilles 'SO- stop being evil' 01.07.2013, 00:30