최신 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 시절부터의 설치 및 지원으로 인해 존재한 것입니다(현재는 전통입니다).sh
ksh
.cshrc
csh
.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$
~/.profile
set 을 사용한 이중 읽기를 고려하면 사용자 정의 별칭이 포함된 매뉴얼에서 제안한 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$