2017-02-12 55 views
1

時,我有兩個猛砸在Ubuntu在Windows並安裝在我的機器上Cygwin的慶典,無一不是建立具有相同~文件夾中(分別通過/mnt/c/source/cygdrive/c/source)。慶典改變目錄開始

當我從任何目錄通過bash --login -i(或只是bash --login)啓動Ubuntu的bash提示時,我會從該目錄中得到一個提示,但是,當我通過相同的命令啓動Cygwin的bash時,當前目錄將被覆蓋,並且提示始終爲~。看一個簡單的例子截圖。

我的用戶目錄的.bashrc.bash_profile當然是相同的,因爲兩者都使用相同的用戶目錄。我查看了Cygwin的/etc/bash.bashrc,似乎沒有任何東西可以更改我的當前目錄,並且/etc中沒有任何其他相關文件。

什麼可能導致Cygwin的bash改變目錄?

ubuntu bash screenshot

cygwin bash screenshot

+0

你可以比較運行bashes和'-x'的輸出嗎? – choroba

+0

@choroba:我不知道那個標誌。輸出長度爲數千行,並且完全不同,因爲我在Cygwin和Ubuntu中安裝了不同的軟件包(例如,不同版本的bash完成軟件)。但值得注意的是,輸出中沒有'cd','cwd','pwd'或'pushd'。 – configurator

+0

@choroba:我找到了,感謝你;我會在幾分鐘後發佈答案。 – configurator

回答

0

你只是在底部添加一個命令 「CD/dir_you_want」 〜/ .bashrc中Cygwin中

+0

我很感激幫助,但這與我想要的完全相反;我不想在加載bash時更改目錄,我想保留加載目錄bash,這樣我就可以使用在正確目錄中打開bash終端的工具。 – configurator

0

我已經想通了,所以在任何情況下運行到相同的問題:

有一個文件,我忽略了調查,因爲我不知道它存在,/etc/profile。在Cygwin中,默認情況下它有以下部分:

# Make sure we start in home unless invoked by CHERE 
if [ ! -z "${CHERE_INVOKING}" ]; then 
    unset CHERE_INVOKING 
else 
    cd "${HOME}" || echo "WARNING: Failed attempt to cd into ${HOME}!" 
fi 

禁用可以解決問題。