zshでエイリアスエラーを抑制する方法は?

zshでエイリアスエラーを抑制する方法は?

私はすべてのコンピュータの.zshrcにソーシングされたエイリアスのリストを持って同期したいと思います。ただし、あるコンピュータにはドッカーがインストールされ、別のコンピュータにはインストールされていません。端末を開くたびにエラーが発生します。

/home/ubuntu/scripts/zsh_aliases:2: command not found: docker

...一部のエイリアスとしてdockerを使用しているからです。

このチェックを抑制したり、エラーをログファイルにリダイレクトするにはどうすればよいですか?

このエイリアスでエラーが発生したことがわかりましたalias all.restart="docker restart $(docker ps -q)"。だからこそ$()、なぜでしょうか?

答え1

dockerを呼び出す行は、コメントに「コマンドが見つかりませんエラー」を生成します。

alias all.restart="docker restart $(docker ps -q)"

コマンドの置き換えは、dockerなしでシステムで実行されたときにエラーを引き起こす$(docker ...)callです。docker

エイリアスの前にコマンドがあることを確認してくださいdocker

command -v docker > /dev/null && alias all.restart="docker restart $(docker ps -q)"

コマンドが見つからない場合、commandコマンドは失敗し、docker後続のセクションをスキップします&& aliasdockerコマンドする存在する場合はaliasコマンドを実行します。

関連情報