在c ++中,有一种方法可以在已使用system()打开的程序中运行命令,所有这些均以编程方式完成。
即:
打开git bash
system("start \"\" \"c:\\Program Files\\Git\\bin\\sh.exe\" --login -i");
然后在新打开的git bash窗口中cd返回两个目录
"cd ../../"
答案 0 :(得分:2)
假设您在Windows上,启动命令可以使用/D
设置工作路径
start /D "./../.." "c:/Program Files/Git/in/sh.exe" --login -i
答案 1 :(得分:0)
不知道我是否理解正确,但是为什么不只启动bash
,又为什么不从C ++程序启动bash脚本呢?脚本中的所有命令都将执行。
system("/bin/bash -c myscript.sh");
将启动Bash,但是将执行脚本文件myscript.sh
中的命令,而不是交互式shell。
但是,我将使用一种不同的方法,而不是system(...)
。请参见exec*(...)
函数家族和fork()
调用。以this question and answers为例,该门户中有成千上万的页面可供浏览,并且有数十个问题。