Назад | Перейти на главную страницу

различные интерактивные и неинтерактивные оболочки

Оболочка учетной записи пользователя определена в файле passwd как bash. Я хотел бы изменить оболочку этой учетной записи пользователя на tcsh для неинтерактивных заданий (например, ssh), но оставьте интерактивную оболочку на bash. Есть ли способ настроить это в системе?

Если вы хотите, чтобы оболочки входа использовали одну оболочку, а оболочки, не входящие в систему, использовали другую, вы можете добиться этого, определив оболочку по умолчанию для пользователя (в / etc / passwd) как ту, которая будет использоваться в качестве не- оболочка входа в систему (tcsh в вашем случае), а затем переключение на другую оболочку при открытии оболочки входа.

В вашем случае это можно сделать, добавив это в файл с именем ".profile" в домашнем каталоге пользователя (создав его, если он еще не существует):

# Switch to bash for login shells
if [ ! -n "$BASH_VERSION" ]
then
        exec /bin/bash -l
fi