0

複数のサーバーと自分のパソコンで使用する Z シェル構成があります。私のパソコンには、実行可能ファイルへのエイリアスがありますfoo。このプログラムにエイリアスする zshrc の行は次のとおりです。

alias foo=/path/to/foo

いくつかのサーバーではパスfooが異なり、次のような共通のディレクトリに移動できません~/bin

alias foo=/sever/path/to/foo

すべてのマシンでエイリアスを foo にする必要があるため、たとえば foo と foo-server のような 2 つの別個のエイリアスを作成することはできません。Z-Shell に自分が使用しているマシンを検出させ、エイリアスを自動的に foo に変更する方法はありますか? 素朴に、次のようなもの:

パソコンの場合:
alias foo=/path/to/foo
その他:
alias foo=/sever/path/to/foo

4

2 に答える 2

1

これに遭遇した他の人にとって、私が見つけることができる最善の解決策は次のとおりです。

#{{{ Alias foo if it is in a specific location
if [[ -x ="/path/to/foo" ]]; then
    alias foo='/path/to/foo'
fi

#}}}

-xフラグを提案してくれた larsmans に感謝

于 2012-04-16T19:07:01.463 に答える
0

zsh 固有のものは使用しないでください。ホスト名 (またはドメイン名または zsh によって設定された変数ホスト名を使用) を使用して、PC またはサーバー上にあるかどうかを確認できます。次に分岐。これにより、ファイル /path/to/foo が存在するが正しいものではない場合に作成される問題が回避されます。これは、ラーズマンの回答が作成します。

于 2012-04-16T15:01:32.217 に答える