2014-01-08 53 views
10

我在我的Mac上做了一些更新,似乎破壞了我的一些設置。我有以下的在我的.bash_profile設置Tmux提示符不正常的bash提示符PS1 W

出口PS1 =「\ W $」

這是我正常的bash會話工作只顯示當前目錄,而不是整個 路徑。但是,當我切換到tmux時,它會再次顯示整個路徑。對bash配置文件中PS1的其他更改(如顏色或其他字符)可以正常工作,並反映在tmux中。我清空了我的.tmux.conf文件,看看是否會導致衝突,但是這種行爲沒有改變。

我確實在系統上創建了一個新用戶,並嘗試了相同的PS1,並且它在普通會話和tmux中都完美工作。

我很困惑,因爲我知道我有它的工作,並不知道什麼會在更新中發生變化。除了.bash_profile和.tmux.conf之外,還有哪些文件可以在這裏播放?有沒有辦法告訴tmux從哪裏拉它的設置?

附加信息: 此行爲是在這兩個iTerm2和終端 TMUX版相同的1.8 的Mac OSX 10.9.1

+0

'tmux'可能正在創建非登錄shell,在這種情況下,'.bashrc'將被取代。 – chepner

+0

我不認爲是這種情況,因爲我的.bash_profile中的其他別名已經轉化爲tmux,並且我對PS1所做的任何其他更改都反映在tmux中,但\ W變量似乎並不想表現出來一般。 – Paige

+0

一旦你在tmux中,什麼是$ PS1設置? – graywh

回答

1

以下內容添加到您的.tmux.conf

new -n WindowName bash --login 

您可以替換WindowName與任何你想要的第一個窗口被命名。當bash這種方式調用時,它來源於您的.bash_profile.bash_rc,.profile等,這是您更改您的$PS1

+0

這不適合我,我的解決方案是在下一個答案。 – srk

1

我有同樣的問題,經過一番研究,我已經添加下面的命令來我~/.tmux.conf

set-option -g default-command "reattach-to-user-namespace -l /opt/local/bin/bash --login" 

我使用OSX 10.9.5與iTerm2構建2.0.0.20141103,慶典30年3月4日(1 ) - 釋放,tmux 1.9a。 Bash和tmux來自macports。

+0

這適用於我們已經使用set-option的情況。 – RaviU

7

我有類似的問題。我得到正確的結果,如果我始終應用開始TMUX與bash命令,就像這樣:

tmux new bash 

所以,爲了簡化這個,我只是在我的〜/ .bash_aliases文件,我使用所有創建的別名時間:

alias tn='tmux new bash' 

雖然這隻適用於第一個窗口。在創建新窗口時,必須通過在終端中執行bash來再次啓動bash。

+0

豎起大拇指的男人..接受的答案也沒有爲我工作。 –

11

這一次爲我的作品: 在TMUX /終端:

tmux set-option -g default-command bash 

或者乾脆投入~/.tmux.conf

set-option -g default-command bash 
0

當使用TMUX與屏風,你可以嘗試byobu-prompt命令。它會問你是否想要bash顏色提示。在回答是後,提示將更改爲通常的用戶@主機。