如何打开 shell 然后在其中执行命令
How can I open shell and then execute a command inside it
我想要的是打开默认shell,然后调用另一个并在那里执行命令。
正在尝试这样的事情:
c:/Windows/System32/bash.exe -c "zsh & zstyle"
或
cmd /k "c:/Windows/System32/bash.exe -c zsh" & zstyle
- 这会打开 shell 但不会 运行 命令
或
c:/Windows/System32/bash.exe -c "zsh -c 'zstyle'"
目前我正在为 windows 使用 cmder/conemu 终端。
不幸的是,通过 -c
和 将启动命令传递给 zsh
并保持打开以供交互使用(使用 -i
)不会没用。
免责声明:以下解决方案是在常规命令提示符 (cmd.exe
) 中测试的,而不是 cmder/conemu,但我希望它们也能在那里工作。
要从 PowerShell (v3+) 试用它们,请将 --%
作为第一个参数插入(紧跟在 bash.exe
之后)。
这里有一个解决方法:
c:/Windows/System32/bash.exe -c "zsh -c 'zstyle' && exec zsh -i"
请注意,命令 zstyle
是在 不同的瞬态 zsh
实例中执行的,因此这种方法不适用于旨在修改保持开放的交互式环境shell。
如果这是一个要求,事情就会变得更复杂(这个解决方案由 提供):
c:/Windows/System32/bash.exe -c "{ { echo 'zstyle'; echo 'exec 0<&3-';} | zsh -i; } 3<&0"
但是请注意,正在执行的两个命令都将在其输出(如果有的话)之前被 打印 ,并在提示之前显示 - 就好像这些命令是交互式输入的一样.
我想要的是打开默认shell,然后调用另一个并在那里执行命令。
正在尝试这样的事情:
c:/Windows/System32/bash.exe -c "zsh & zstyle"
或
cmd /k "c:/Windows/System32/bash.exe -c zsh" & zstyle
- 这会打开 shell 但不会 运行 命令
或
c:/Windows/System32/bash.exe -c "zsh -c 'zstyle'"
目前我正在为 windows 使用 cmder/conemu 终端。
不幸的是,通过 -c
和 将启动命令传递给 zsh
并保持打开以供交互使用(使用 -i
)不会没用。
免责声明:以下解决方案是在常规命令提示符 (cmd.exe
) 中测试的,而不是 cmder/conemu,但我希望它们也能在那里工作。
要从 PowerShell (v3+) 试用它们,请将 --%
作为第一个参数插入(紧跟在 bash.exe
之后)。
这里有一个解决方法:
c:/Windows/System32/bash.exe -c "zsh -c 'zstyle' && exec zsh -i"
请注意,命令 zstyle
是在 不同的瞬态 zsh
实例中执行的,因此这种方法不适用于旨在修改保持开放的交互式环境shell。
如果这是一个要求,事情就会变得更复杂(这个解决方案由
c:/Windows/System32/bash.exe -c "{ { echo 'zstyle'; echo 'exec 0<&3-';} | zsh -i; } 3<&0"
但是请注意,正在执行的两个命令都将在其输出(如果有的话)之前被 打印 ,并在提示之前显示 - 就好像这些命令是交互式输入的一样.