我想在使用 Mac 时使用emacs
from文件夹,但我在 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 shell 本身设置。
操作系统类型
操作系统,在编译时确定。
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