OSごとにオプションの違うコマンドのaliasの設定
概要
OSによってオプションの変わるコマンドあります。(ls
など)
.bashrc
などの設定ファイルをOSごとに変えるのは面倒なので、共通して使えるalias
の設定方法について記します。
例えば ls
MacとUbuntuで色をつけるオプションが違います。
Mac
% uname
Darwin
% ls -G
<色がついた結果が表示される>
% ls --color
ls: illegal option -- -
usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
<[email protected]>
Ubuntu
% uname
Linux
% ls --color
<色がついた結果が表示される>
% ls -G
<エラーになならないが白黒の結果>
設定例
if / case で場合分けしただけですが、.bashrc
などに以下のように書くとOSが違っても同じ設定ファイルを使いまわせます
uname
コマンド
if [ $(uname) = 'Linux' ]; then
alias ls='ls --color'
else
alias ls='ls -G'
fi
環境変数 シェル変数 ${OSTYPE}
uname
コマンドを実行する必要がない分、環境変数 シェル変数を使う方がようさそうな気がします。
case ${OSTYPE} in
darwin*)
alias ls='ls -G'
;;
linux*)
alias ls='ls --color'
;;
esac
まとめ
OSが違っても同じ設定ファイルを使いまわせる alias
の設定ができました
他により良い方法がありましたら教えていただけるとうれしいです
Author And Source
この問題について(OSごとにオプションの違うコマンドのaliasの設定), 我々は、より多くの情報をここで見つけました https://qiita.com/abetomo/items/3df53752edf2bd0855c9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .