如何在 bash --login -i 上更改 bash 中的目录

bor*_*net 1 linux bash cygwin

我正在使用Cygwin并希望使用 diff 参数运行它,这样我就可以在 Windows 中启动后立即更改目录。

例如

bash --login -i ; cd /
Run Code Online (Sandbox Code Playgroud)

或者

bash --login -i ; cd /tmp
Run Code Online (Sandbox Code Playgroud)

cd不起作用,我如何将更改目录传递给

bash --login -i
Run Code Online (Sandbox Code Playgroud)

仅供参考,我无法将其放入cd.bash,它必须传入

尝试过这个但没有运气

bash --login -i -s cd /tmp;
Run Code Online (Sandbox Code Playgroud)

che*_*ner 5

一个技巧是使用-c更改目录,然后立即启动一个新的 shell 来代替第一个 shell。工作目录是继承的。请注意,任何shell(支持exec)都可以用来启动新进程;工作目录更改后,您就可以启动bash.

bash -c "cd /tmp; exec bash --login -i"
Run Code Online (Sandbox Code Playgroud)