![](/img/trans.png)
[英]How do I change the directory in Git Bash with Git for Windows?
[英]How to change directory in bash upon bash --login -i
我正在使用Cygwin
並希望使用diff params運行它,所以我可以在Windows中啟動后立即更改dir。
例如
bash --login -i ; cd /
要么
bash --login -i ; cd /tmp
但是cd
不起作用,如何將更改目錄傳遞給
bash --login -i
僅供參考我無法將cd
放入.bash中,必須將其傳入
試了這個沒有運氣
bash --login -i -s cd /tmp;
一個hack是使用-c
來更改目錄,然后立即啟動一個新shell來代替第一個。 工作目錄是繼承的。 請注意, 任何 shell(支持exec
)都可用於啟動新進程; 一旦工作目錄被更改,那么您可以啟動bash
的交互式登錄實例。
bash -c "cd /tmp; exec bash --login -i"
我使用.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
明確logout
; 另一方面,如果您不想記錄您的位置,只需通過窗口管理器關閉終端窗口即可。
好的,所以我找到了我需要的解決方案。 在Cygwin .bashrc我放了
"$OLDPWD"
,它將自動切換到我在Windows中的最后一個目錄,然后分叉,
希望能幫助別人,
肖恩
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.