我使用Cygwin
並希望使用diff參數運行它,以便在Windows中啓動後立即更改目錄。如何在bash中更改目錄bash --login -i
例如
bash --login -i ; cd/
或
bash --login -i ; cd /tmp
但cd
不工作,我怎麼能傳遞一個改變目錄
bash --login -i
FYI我不能把cd
in .bash,它必須通過
試圖與沒有運氣
bash --login -i -s cd /tmp;
我使用Cygwin
並希望使用diff參數運行它,以便在Windows中啓動後立即更改目錄。如何在bash中更改目錄bash --login -i
例如
bash --login -i ; cd/
或
bash --login -i ; cd /tmp
但cd
不工作,我怎麼能傳遞一個改變目錄
bash --login -i
FYI我不能把cd
in .bash,它必須通過
試圖與沒有運氣
bash --login -i -s cd /tmp;
一個黑客就是用-c
改變目錄,然後立即到位的第一個啓動一個新的外殼。工作目錄是繼承的。請注意,任何外殼(支持exec
)都可用於啓動新過程;一旦工作目錄被更改,您就可以啓動bash
的交互式登錄實例。
bash -c "cd /tmp; exec bash --login -i"
行,所以我找到了一個解決方案,我需要的東西。 Cygwin中的.bashrc我把
"$OLDPWD"
,它會自動切換到我的最後一個目錄我是在Windows叉子Cygin之前,
希望幫助別人,
肖恩
我用.bashrc
和.bash_logout
恢復以前的位置。在.bash_logout
我存儲當前目錄中的文件:
if [ -d ~/.recent-locations ]; then
pwd > ~/.recent-locations/locus-$RANDOM
fi
和.bashrc
我消耗的存儲位置:
if [ -d .recent-locations ]; then
for x in $(ls .recent-locations); do
dstdir=$(cat .recent-locations/$x)
rm .recent-locations/$x
cd $dstdir
break
done
fi
對於這個工作,你需要註銷明確使用Ctrl-D
或logout
;另一方面,如果你不想記錄你的位置,你只需通過窗口管理器關閉終端窗口。
定義「沒有工作」。 – chepner
這適用於我在Windows 7 SP1上使用32位Cygwin並應用了所有更新。 @ born2net,是否有可能在'.bashrc'或'.bash_profile'文件中有'cd'命令? –
好的,我得到了我需要的東西,但是+1了你tx – born2net