PATH가 안잡혀있어서 TOP 명령어를 수행할때
PATH=$PATH:/usr/local/bin
export PATH
이렇게 하면 수행이 되지만,
터미널 다시 키면 원래대로 돌아와요...
상황1. PATH가 안먹는다.
# top
ksh: top: 찾을 수 없음
#
# export PATH=$PATH:/usr/local/bin
# top
last pid: 1455; load avg: 1.01, 1.64, 7.68; up 0+00:27:41 01:38:24
82 processes: 78 sleeping, 3 running, 1 on cpu
CPU states: 66.0% idle, 6.8% user, 27.2% kernel, 0.0% iowait, 0.0% swap
Memory: 500M phys mem, 9532K free mem, 512M total swap, 380M free swap
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
1429 root 9 59 0 453M 93M run 2:56 6.58% firefox-bin
689 root 1 59 0 41M 29M sleep 1:28 2.49% Xorg
1455 root 1 59 0 2764K 1460K cpu 0:00 2.10% top
...................................................................................................................................
그러나 새창을 띄워서 해보면.
# top
ksh: top: 찾을 수 없음
그래서 이번엔 .profile 과 /etc/profile 을 수정해보았습니다.
#cat .profile
PS1="PROFILE"
PATH=/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/ucb:/usr/local/bin
EDITOR=/usr/bin/vi
만약 이 파일이 동작한다면 다음 로그인시에 PROFILE이라고 프롬프트가 바뀔겁니다.
# cat /etc/profile
#ident "@(#)profile 1.19 01/03/13 SMI" /* SVr4.0 1.3 */
PS1="ETC"
PATH=/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/ucb:/usr/local/bin
# The profile that all logins get before using their own .profile.
trap "" 2 3
export LOGNAME PATH
...... 중략
만약 이 파일이 적용된다면 프롬프트가 ETC로 바뀌겠죠
그러나
# telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
login: root
Password:
Not on system console
Connection to localhost closed by foreign host.
# top
ksh: top: 찾을 수 없음
#
바뀌지도 않고, PATH변수조차 적용이 안ㅤㄷㅚㅆ습니다.
어디서 실수를 한걸까요;
첫댓글 cat /etc/profile은 솔라리스 프로그램이 최초에 시스템을 읽을때 사용하는 Profile이고요, root 사용자가 로그인을 할때 사용하는 환경파일은 사용자 홈 디렉토리에 있는 .profile .kshrc입니다. telnet localhost 할때 적용되는 환경파일도 사용자 홈디렉토리에 있는 .profile .kshrc 입니다.
재부팅을 하시거나 .profile에 하시고 로그아웃 하신후 로그인 하시거나 .kshrc하셔서 하시면 되실듯...
사용자 쉘을 확인하세요.. sh,ksh,bash,csh에 따라 먹는 사용자 환경파일이 다릅니다. .profile .bash_profile등... 확인해 보시죠
가장 잘못된 점 하나를 꼽자면.... export 안 시켰습니다. 그럼 제대로 적용되지 못합니다.