AIX(Korn 쉘, .profile)에서 별명이 작동하지 않는 이유는 무엇입니까?

AIX(Korn 쉘, .profile)에서 별명이 작동하지 않는 이유는 무엇입니까?

내 홈 디렉터리에 다음 파일이 있습니다.

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"

이 줄은 AIX에서 ksh를 쉘로 사용할 때 적용됩니다.

연결 끊기 및 다시 연결과 관련하여...기본 쉘이 ksh인지 확실합니까? /etc/passwd에서 사용자를 확인하세요.

답변3

이것은 .profile귀하의 쉘 프로필이 아닙니다. 이것은 귀하의 로그인 세션입니다.설정 파일. 로그인 세션 내에서 시작된 다른 대화형 쉘이 아닌 로그인 시 시작된 쉘에서만 읽을 수 있습니다.

ksh자체적으로 전용 사용자 정의 파일은 없지만 변수를 $ENV대화형 셸 세션에 대한 사용자 정의 파일의 경로로 처리합니다.

그래서 다음과 같은 것을 추가할 것입니다:

ENV="$HOME/.kshrc" export ENV

당신에게 다음을 제공합니다 ~/.profile:

alias 'l=ls -lrt'

당신에게 ~/.kshrc.

변경사항은 다음에 로그인할 때만 적용됩니다.

답변4

이 별명은 AIX 및 Korn 쉘에서 작동합니다.

like 끝에 몇 가지 명령을 추가하십시오 /etc/profile.

export PS1="`hostname`# "
alias ll="/usr/bin/ls -lF $*"
alias h="history 50"

환경에서 이러한 변수를 설정하려면 다음을 실행하십시오.

. /etc/profile

관련 정보