OpenBSD - 별칭을 설정하는 방법은 무엇입니까?

OpenBSD - 별칭을 설정하는 방법은 무엇입니까?

최신 OpenBSD를 실행 중인데 cls=clear와 같은 간단한 별칭을 설정하는 방법을 모르겠습니다. ~/.cshrc 및 ~/.profile에 넣어 보았습니다. 나는 시도했다:

alias cls clear
alias cls=clear
alias cls='clear'
alias cls="clear"

아무것도 작동하지 않습니다.

관련이 있을 수 있는 또 다른 참고 사항: echo $SHELL에서 내가 /bin/ksh를 사용하고 있다고 알려주면 왜 ~/.kshrc가 아닌 ~/.cshrc를 사용합니까?

답변1

.cshrc존재하기 때문에 복사됩니다. 이는 /etc/skel(대부분의) 사용자 계정에 의해 추가된 콘텐츠에 발생하는 현상입니다. 그러나 이는 /etc/skel또는 2BSD 시절부터의 설치 및 지원으로 인해 존재한 것입니다(현재는 전통입니다).shksh.cshrccsh

.profile로그인 쉘에서만 읽기만 하므로 로그인 쉘이 아닌 새 쉘은 그 안의 명령을 선택하지 않습니다.

valen$ cd
valen$ ed .profile
215
a
echo .profile was run
.
wq
237
valen$ exec ksh
valen$ exec ksh -l
.profile was run
valen$ 

이것ksh(1)수동ENV로그인하지 않은 인스턴스가 읽을 환경 변수 설정에 대한 문서가 있습니다 ksh.

valen$ ed .profile
237
d
a
export ENV=$HOME/.profile
echo now with ENV set
.
wq
263
valen$ exec ksh
valen$ exec ksh -l
now with ENV set
now with ENV set
valen$ exec ksh
now with ENV set
valen$ 

~/.profileset 을 사용한 이중 읽기를 고려하면 사용자 정의 별칭이 포함된 매뉴얼에서 제안한 export ENV=$HOME/.profile대로 다른 파일을 사용하는 것이 좋습니다 .~/.kshrc

valen$ cat .profile
PATH=$HOME/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin:/usr/games
export PATH HOME TERM
export ENV=$HOME/.kshrc
valen$ cat .kshrc
alias cls=clear
valen$ exec ksh -l
valen$ alias | grep cls
cls=clear
valen$ 

관련 정보