Bash エイリアスの if-then-else

Bash エイリアスの if-then-else

mv通常のフォルダで通常の動作を実行し、gitリポジトリ内で置き換えられるようにエイリアスを作成しようとしています。git mv私は多くの方法を試しました。ステートメントは機能しますが、コマンドが正しく実行されないifだけです。git mv

alias mv='"$(
if [ x`git rev-parse --show-toplevel 2> /dev/null` = x ]; 
    echo mv;  
else 
    echo "git mv"; 
fi)"'

ベストアンサー1

私は次の機能を使用します:

gitmv()
{
    # If in a git repo - call git mv. otherwise- call mv
    if [ x`git rev-parse --show-toplevel 2> /dev/null` = x ]; 
    then
        mv "$@"  
    else 
        git mv "$@" 
    fi
}

編集する:

alias mv=gitmv

おすすめ記事