vimがインストールされているかどうかを確認する方法は?

vimがインストールされているかどうかを確認する方法は?

命令がインストールされているかどうかを確認する方法を知りたいです。

vi特に、コマンドが有効なすべてのシステムでエイリアスを使用したいと思いますvimvim私の* rcファイルを普通に保ちたいです。ただし、一部のオペレーティングシステムはデフォルトでインストールしませんvim。そして他の面では、vi はいViは改善されましたが、vim有効なコマンドではありません。

私はこれを行うことができると思います(bashスタイル):

#If the version info from vi includes the phrase "Vi IMproved", then vi IS vim.
vimInfo=$(vi --version 2> /dev/null | head -n 1 | grep -Fi 'VI IMPROVED')
if [[ -z $vimInfo ]]; then
  if [[ -f $(which vim) ]]; then
    #if the value returned by 'which' is a valid directory, then vim is installed
    alias vi='vim'
  else
    #vim is not installed
    echo "Vi IMproved (vim) is not installed";
  fi
fi

しかし、もっと良い方法がありますか?このwhichコマンドは、すべてのUNIXシリーズシステムに表示されることが保証されていますか?

PS私はほとんどすべての人気シェル(bash、tcsh、zsh、ksh)の* rcファイルを持っており、このソリューションをすべてのシェルに適用する予定です。したがって、ソリューションはシェルに限定されるべきではありません。文法できるしかし、そうです。

ベストアンサー1

たとえば、次のようになりますcommand

command -v vim

シェル組み込みコマンドです。 (zsh、bash、ksh、しかし、tcsh)

存在するtcsh以下を使用できます。

~> sh -c 'command -v vim'

おすすめ記事