我有一个 bash 脚本 postCloneSetup.sh:
script_path=$( cd "$(dirname "${BASH_SOURCE[0]}")" ; pwd -P )
cd "$script_path"
printf 'Updating submodules for project\r\n'
git submodule update --init --recursive
printf '\r\nInitializing git hooks\n'
./GitHooks-BackEnd/init-hooks
printf '\r\nInitializing Submodule1\r\n'
$(./Submodule1/postCloneSetup.sh)
printf '\r\nInitializing Submodule2\r\n'
$(./Submodule2/postCloneSetup.sh)
Run Code Online (Sandbox Code Playgroud)
我从 Windows 命令提示符触发了一个 bash 脚本。
postCloneSetup.sh
Run Code Online (Sandbox Code Playgroud)
它打开另一个窗口,然后返回。它产生的窗口保持打开状态并记录输出文本。
我想从生成的窗口中捕获输出(写入控制台的文本)并将其返回到 Windows 命令提示符。
我更喜欢使用类似的东西
$(postCloneSetup.sh) // Linux for capturing output to current context
Run Code Online (Sandbox Code Playgroud)
对于 Windows 命令提示符。
我不想修改 postCloneSetup.sh。我知道我可以把它写到一个文件中
exec &> postCloneSetupLog.log
Run Code Online (Sandbox Code Playgroud)
但是我必须等待并手动运行
type postCloneSetupLog.log
Run Code Online (Sandbox Code Playgroud)
在控制台中查看输出。这对于集成到 CI 引擎是不可能的,这是我的目标。
如何在一个命令中捕获生成的控制台的输出?