![특정 운영 체제에 대해 .zshrc를 구성하는 방법](https://linux55.com/image/80350/%ED%8A%B9%EC%A0%95%20%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C%EC%97%90%20%EB%8C%80%ED%95%B4%20.zshrc%EB%A5%BC%20%EA%B5%AC%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
Mac을 사용할 때 from 폴더를 사용하고 싶지만 emacs
Ubuntu에서도 동일하게 사용하고 있습니다.Applications
.zshrc
alias emacs='/Applications/Emacs.app/Contents/MacOS/bin/emacsclient'
그래서 나는 사용될 때만 이 별칭을 만들고 싶습니다 OS X
. 운영 체제 이름을 얻는 방법은 무엇입니까 .zshrc
?
답변1
또한 여러 운영 체제 간에 Zsh 부팅을 공유합니다. case
시스템별 명령에 대해 명령문을 사용할 수 있습니다 .
case `uname` in
Darwin)
# commands for OS X go here
;;
Linux)
# commands for Linux go here
;;
FreeBSD)
# commands for FreeBSD go here
;;
esac
또는 시스템별 시작을 (예를 들어) 등의 파일로 분할한 .zshrc-Darwin
다음 .zshrc-Linux
필수 source
파일을 다음 끝 부분에 배치 할 수 있습니다 .zshrc
.
source "${ZDOTDIR:-${HOME}}/.zshrc-`uname`"
답변2
환경 변수를 확인하는 것은 $OSTYPE
외부 명령을 실행하는 것보다 가볍기 때문에 선호됩니다 uname
.
OSTYPE
ZSH 쉘 자체에 의해 설정됩니다.
운영 체제 유형
운영 체제는 컴파일 타임에 결정됩니다.
http://zsh.sourceforge.net/Doc/Release/Parameters.html#Parameters-Set-By-The-Shell
예
# for ZSH
case "$OSTYPE" in
darwin*)
# ...
;;
linux*)
# ...
;;
dragonfly*|freebsd*|netbsd*|openbsd*)
# ...
;;
esac
인용하다
노트: OSTYPE
Bash에서 사용 가능한 값은 ZSH에서 사용 가능한 값과 약간 다릅니다.
답변3
Linux를 실행하고 있지 않은지 확인하십시오. 이 절은 uname
Mac에 존재하지 않는 경우에도 실패합니다.if
if [ "$(uname 2> /dev/null)" != "Linux" ]; then
alias emacs='vim'
fi