在我的.zshrc文件中,我根据我是在Linux上运行还是在macOS上运行,有条件地设置我的PATH变量--我现在正在尝试弄清楚,如果我在运行在WSL上的Linux上工作,是否有一种方法可以有效地从我的.zshrc中检测出来。
我想知道我是否可以以某种方式检查/mnt/c/Program文件或类似文件的存在-但我想肯定有更好的方法?
我当前的.zshrc示例:
PATH="/usr/local/sbin:$PATH"
if ! [[ "$OSTYPE" == "darwin"* ]]; then
export PATH="$HOME/.nodenv/bin:$HOME/.rbenv/bin:$PATH"
fi
eval "$(rbenv init -)"
eval "$(nodenv init -)"
PATH="$HOME/.bin:$PATH"
if [[ "$OSTYPE" == "darwin"* ]]; then
export ANDROID_SDK_ROOT="$HOME/Library/Android/sdk"
export PATH="$PATH:$ANDROID_SDK_ROOT/tools:$ANDROID_SDK_ROOT/tools/bin:$ANDROID_SDK_ROOT/platform-tools:$ANDROID_SDK_ROOT/build-tools:$ANDROID_SDK_ROOT/tools/lib/x86_64"
export PATH="$PATH:/usr/local/share/dotnet"
fi
如果任何人有比检查/mnt/c/Program文件是否存在更好的想法,我将非常感谢!
发布于 2019-01-02 02:03:18
感谢Biswapiryo的评论-我想出了这个解决方案来检测WSL:
if [[ $(uname -r)] == ^*Microsoft$ ]]; then
# Code goes here
fi
https://stackoverflow.com/questions/53996607
复制相似问题