Рекурсивно удалить расширение из всех файлов с определенным расширением

Очевидно, что в вашем примере .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.

3
19.07.2021, 02:20
0 ответов

Теги

Похожие вопросы