[小ネタ] bash,VimでApple Silicon搭載Macを判定する
bash
#!/bin/bash
if [ "$(uname)" == 'Darwin' ] && [ "$(uname -m)" == 'x86_64' ]; then
echo 'x86_64 Mac'
elif [ "$(uname)" == 'Darwin' ] && [ "$(uname -m)" == 'arm64' ]; then
echo 'arm64 Mac'
fi
Vim
uname
がRosetta2を経由しないようにarch -arm64e
オプションをつけている
Rosetta2を経由すると、Apple Silicon搭載Macでもx86_64
に判定される
let g:os = substitute(system('arch -arm64e uname'), '\n', '', '')
let g:arch = substitute(system('arch -arm64e uname -m'), '\n', '', '')
if g:os ==# 'Darwin' && g:arch ==# 'x86_64'
let g:coc_node_path = expand('~/.anyenv/envs/nodenv/shims/node')
elseif g:os ==# 'Darwin' && g:arch ==# 'arm64'
let g:coc_node_path = expand('/usr/local/bin/node')
endif
参考
Apple Silicon搭載のMacではIntel-Onlyのターミナルエミュレータを利用するとCLIツールはRosetta経由で起動するので注意を。
Author And Source
この問題について([小ネタ] bash,VimでApple Silicon搭載Macを判定する), 我々は、より多くの情報をここで見つけました https://zenn.dev/shuntaka/articles/08567c7e79d631d5c4b2著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Collection and Share based on the CC protocol