배시를 ksh로 변환

배시를 ksh로 변환

내 현재 쉘은 bash이고 ksh로 변환하고 싶습니다. chsh 또는 ypchsh를 통해 변환을 시도했지만 변환할 권한이 없습니다. 그래서 아래와 같이 .bash_profile을 사용하여 변환을 시도했습니다.

$vi .bash_profile
ksh
. ./.profile .

Putty를 다시 열면 .bash_profile이 실행되고 ksh로 변경되지만 .profile의 별칭은 확인되지 않습니다.

답변1

아래 답변을 확인하신 후 로그인 SHELL을 이용해 주시기 바랍니다.

ksh --login

https://stackoverflow.com/questions/29072913/how-to-manually-start-interactive-ksh-and-have-it-execute-home-profile-on-sta

답변2

분명히 귀하의 예에서는 .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간단한 호출을 사용했기 때문에 which 의 자식으로 실행하는 대신 which 를 바꾸기 ksh만 하면 됩니다 .kshbashkshbash

그럼에도 불구하고 시스템 관리자나 /etc/passwd의 설정을 업데이트할 권한이 있는 사람에게 이 작업을 수행하도록 요청하는 것이 좋습니다. ksh를 직접 호출할 때 발생할 수 없는 특정 설정을 bash에서 상속할 때 예상치 못한 문제를 피하는 데 도움이 될 수 있습니다.

관련 정보