Очевидно, что в вашем примере .profile
не будет получено, пока вы не выйдете из ksh
. Так работает оболочка.
Я попытался сделать на своей локальной машине следующее:
$ cat /home/test/.profile
exec ksh
$ cat ~/.kshrc
echo "commands you need in ksh"
Поскольку профиль читается только один раз при входе в систему, похоже, он работает. Всякий раз, когда я вхожу в систему как пользователь, я ksh
как оболочка. Однако не проверял это с помощью tmux
или screen
.
$ ps
PID TTY TIME CMD
9667 pts/1 00:00:00 ksh
9675 pts/1 00:00:00 ps
Обратите внимание, что я использую exec ksh
вместо простого вызова ksh
, поэтому у вас будет только ksh
, который заменил bash
вместо ksh
, работающего как дочерний элемент bash
.
В любом случае, я советую попросить системного администратора или того, у кого есть грант, обновить настройки в /etc/passwd для этого. Это может помочь вам избежать непредвиденных проблем с наследованием некоторых настроек из bash, с которыми вы можете не столкнуться при непосредственном вызове ksh.