%EC%97%90%EC%84%9C%20%EB%B3%84%EB%AA%85%EC%9D%B4%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 홈 디렉터리에 다음 파일이 있습니다.
drwxr-xr-x 3 meuser staff 256 Oct 12 13:11 .
drwxr-xr-x 102 bin bin 4096 Sep 30 12:28 ..
-rw------- 1 meuser staff 5349 Oct 11 20:44 .bash_history
-rwx------ 1 meuser staff 466 Jun 26 22:12 .profile
-rw------- 1 meuser staff 7074 Oct 12 13:11 .sh_history
drwx------ 2 meuser staff 256 Aug 16 15:28 .ssh
내 기본 쉘은 Korn 쉘입니다. 다음과 같이 별칭을 넣으려고 할 때 .profile
:
alias l='ls -lrt'
다시 로그인한 후 실행을 시도했습니다.
$ l
ksh: l: not found.
이 별칭을 작동시키는 방법은 무엇입니까?
답변1
.profile
로그인 시에만 읽혀집니다. 이후 수정 사항은 현재 환경에 영향을 주지 않습니다. .profile
다음 방법으로 다시 로드해야 합니다 .
- 파일 소싱:
. .profile
(영향을 줍니다.현재의껍질, 아니모두껍질) su -l <user>
(새 로그인)- 로그아웃 + 로그인
답변2
작동합니다.
내 .profile에서 볼 수 있는 유일한 차이점은 큰따옴표입니다.
alias l="ls -l"
이 라인은 ksh를 쉘로 사용하는 AIX에서 작동합니다.
연결 해제 및 재연결과 관련하여... 기본 셸이 ksh인지 확실합니까? /etc/passwd에서 사용자를 확인하세요.
답변3
이것은 .profile
쉘 구성 파일이 아니라 로그인 세션입니다.설정 파일. 로그인 시 시작된 쉘에서만 읽을 수 있으며 로그인 세션 내에서 시작된 다른 대화형 쉘에서는 읽을 수 없습니다.
ksh
자체에는 전용 사용자 정의 파일이 없지만 $ENV
변수를 대화형 셸 세션에 대한 사용자 정의 파일의 경로로 처리합니다.
그래서 다음과 같은 것을 추가할 것입니다:
ENV="$HOME/.kshrc" export ENV
당신 ~/.profile
과:
alias 'l=ls -lrt'
너의 ~에게 ~/.kshrc
.
변경 사항은 다음 로그인 시에만 적용됩니다.
답변4
별칭은 Korn Shell을 사용하는 AIX에서 작동합니다.
다음과 같은 명령 끝에 몇 가지 명령을 입력하세요 /etc/profile
.
export PS1="`hostname`# "
alias ll="/usr/bin/ls -lF $*"
alias h="history 50"
환경 내에 이러한 변수를 설정하려면 다음을 실행하십시오.
. /etc/profile