
周辺を検索しましたが、決定的なコンテンツが見つかりませんでした。 zshのaliasコマンドとbashのaliasコマンドの間に違いはありますか?それ以外の場合は、2つのシェル間でエイリアスセットを共有し、期待どおりに機能できることを意味しますか?
答え1
このコマンドの構文は、alias
すべてのBourneスタイルのシェルで同じです。したがって、すべてのシェルで意味がある限り、、、、の~/.zshrc
間~/.bashrc
で~/.kshrc
共有できます。~/.shrc
すべてのシェルでサポートされている構文サブセットを使用する限り、変数定義と関数定義にも同様に適用されます。
4.0 より前のバージョンの zsh を使用していない場合は、すべてのシェル独立定義を (たとえば) というファイルに入れることができます。~/.common.rc.sh
ここで、最初の行は次のようになります。
emulate -LR sh 2>/dev/null
これは、zshにこのファイルでのみsh互換の構文を期待するように指示します。次に、背面の先頭の近くにファイルをインポートします~/.bashrc
。~/.bashrc
~/.kshrc
それが基本的に私がすることです。たとえば、利用可能なオプション(、、など)ls
に基づいてお気に入りのオプションのエイリアスを生成する複雑なコードがあります。したがって。--color
-G
-F
.common.rc.sh
alias zcp='zmv -C'
.zshrc
答え2
~によるとZshスタジオエイリアス彼らは同じ構文を持っているようですので、うまくいきます。
答え3
zsh
s はalias
グローバルエイリアシングを許可し、bash
s は行の先頭でのみ拡張されます。
存在するzsh
:
alias -g L="| less -FRX"
これにより、次のことができます。
verbose-command L
バラよりここ便利なグローバルエイリアスリストを取得します。