エイリアスとtmux


12

エイリアスはで定義されている.bash_aliases.bashrcでは動作しませんtmux

これは一部の構成で変更できるので、エイリアスは下で機能しtmuxますか?


2
問題は確かにありtmuxますか?私は1年ほどtmuxを使用していますが、エイリアスに問題はありません。の先頭に追加set -xしてコマンド.bashrcを実行してみてください。エラーが見つかると問題が解決する場合があります。tmuxsource ~/.bashrc
ラッシュ

回答:


9

tmuxデフォルトでログインシェルを起動するため、~/.bashrc実行されません(その後、ソースになります。~/.bash_aliasesソース~/.bashrcからソースする必要があります~/.bash_profile。のINVOCATIONセクションを参照してくださいman bash


19

Chris Downの答えには正しい説明がありますが、良い回避策はありません)

問題は、bashの設計バグとtmuxの設計バグの組み合わせに起因しています。

デフォルトでは、tmuxはすべてのウィンドウでログインシェルを起動します。これは意味がありません。ログインシェルとしてtmuxを設定したdefault-command場合は、tmux以外のオプションを設定する必要があります。ログインシェルとしてtmuxを設定していない場合は、default-commandtmux内でログインシェルが起動しないようにオプションを設定する必要があります。~/.tmux.conftmuxに通常のシェルを起動するように指示するために、これをpoutします。

set-option -g default-command $SHELL

その後、あなた.bashrcが読まれます。bashには別の問題があります。上記で推奨されているようにtmuxを構成する場合、ここでは問題になりませんが、テキストモード(テキストコンソールまたはSSH経由)でログインすると再び現れます。Bash ~/.bash_profileは、ログインシェルおよび~/.bashrc対話型シェルで読み取りますが、ログインシェルではない場合のみです。~/.bashrc対話型のログインシェルでも読むには、これをに追加します~/.bash_profile

case $- in *i*) . ~/.bashrc;; esac

+!エイリアスとPS1プロンプトを修正するには、最後の部分が必要でしたが、実際に完了しました!
マイケルデュラント
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.