Выполнение команды в C ++, а затем запустить команду в этой программе - PullRequest
0 голосов
/ 13 сентября 2018

В c ++ есть способ запустить команду в программе, которая была открыта с помощью system (), причем все это делается программно.

т.е.:

открыть git bash

system("start \"\" \"c:\\Program Files\\Git\\bin\\sh.exe\" --login -i");

, затем в новом открытом окне git bash cd вернуть две директории

"cd ../../" 

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

если вы находитесь в Windows, команда запуска может установить рабочий путь с помощью /D

start /D "./../.." "c:/Program Files/Git/in/sh.exe" --login -i
0 голосов
/ 13 сентября 2018

Не знаю, правильно ли я понимаю, но вместо запуска просто bash, почему бы вам не запустить из вашей программы на C ++ скрипт bash; все команды в скрипте будут выполнены.

system("/bin/bash -c myscript.sh");

Будет запущен Bash, но вместо интерактивной оболочки будут выполняться команды в файле сценария myscript.sh.

Однако я бы использовал другой подход, а не system(...). См. Семейство функций exec*(...) и вызов fork(). На этом портале есть тонны страниц и десятки вопросов, например на этот вопрос и ответы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...