私はすべてのコンピュータの.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
後続のセクションをスキップします&& alias
。docker
コマンドする存在する場合はalias
コマンドを実行します。