インストールしているtmuxプログラムに応じて.bashrc呼び出しをどのように作成できますか?

インストールしているtmuxプログラムに応じて.bashrc呼び出しをどのように作成できますか?

.bashrcにtmuxプログラム(ターミナルマルチプレクサ)を起動するセクションがあります。

ただし、tmuxプログラムがインストールされていない場合(新しいコンピュータを設定すると仮定)、これを.bashrcファイルに入れると、ターミナルウィンドウが正常に開きません。

もちろん、tmuxをインストールするとこの問題は解決することができますが、それは私の問題ではありません。

tmuxいいえインストール後に競合が発生しないか、エラーメッセージが表示されますか?

現在私は以下を持っています:

if [[ ! $TERM =~ screen ]]; then
  exec tmux
fi

私は次のようなものが欲しい:

if tmux; then
  if [[ ! $TERM =~ screen ]]; then
    exec tmux
  fi
fi

しかし、これは私に与えます

The program 'tmux' is currently not installed.  You can install it by typing:
sudo apt-get install tmux

少なくともウィンドウを閉じる代わりにターミナルプロンプトが表示されますが!また、tmuxがインストールされている場合は、新しいターミナルウィンドウを開いてもエラーが発生しないか、問題は発生しません。

ベストアンサー1

次のコマンドを使用して、typeコンピュータに実行可能ファイルがあることを確認できます。

if [ -n "$(type -P tmux)" ]; then

    ...tmux is installed...

else

    ...tmux isn't installed...

fi

私はしばしば次のコードスニペットを使ってこれを行います。

$ [ -n $(type -P tmux) ] && echo "installed" || echo "not installed"
installed

-n(空でない文字列)、(空の文字列)-zの代わりを使用して偽にすることができます。

$ [ -z $(type -P tmux) ] && echo "installed" || echo "not installed"
not installed

おすすめ記事