10.12.3の結果を処理しようとしています - OSにオプションの第3の数値がある場合、どのようにコード化しますか?もちろん、これは頻繁に変更されるので、私は拡張アップデートを探したくありません。ただ、メインOS 10.12、10.11、10.10、などmacOSバージョン番号とメジャーバージョン番号とマイナーバージョン番号だけを一致させてください
if [ "$osv" = "10.12" ];
then
appi="Applications:App Store.app:Contents:Resources:AppIcon.icns"
elif [ "$osv" = "10.11" ];
then
appi="Applications:App Store.app:Contents:Resources:appStore.icns"
else
exit
fi
感謝。
@JamesDean 'awk'は、その入力として' $のosv'の内容を取るフィールドに分割し( '-F'で指定された区切り文字)、その後、最初の2つだけが指定された出力フィールドセパレータと接合印刷しますOFSと一緒に。この出力は '$(...)'構文... – ewcz
@JamesDeanを使って変数 'v'に保存されるか、このアプローチを' sw_vers'と組み合わせてmajor.minorバージョンを 'v = – ewcz
バージョン番号がすでにシェル変数に入っている場合、これは少し重いですが、もしあればとにかく 'sw_vers-productVersion'を呼び出しています。これは実行可能なアプローチですが、' sw_vers -productVersion |カットド。 -f1-2'は簡単です。 (潜在的に興味深いものとして、 'awk'の' -F'オプションは通常_regex_を期待しますが、 '.'は例外として処理されます_literally_ - おそらく任意の文字による分割が意味をなさない空のフィールドしか取得できません)。) – mklement0