我想將bash代碼轉換爲C++代碼。我有這樣的事情:將bash(例如ssh)轉換爲C++使用std :: system
ssh ${USER}@${HOSTS[0]} "bash -c \"cd ${PROGRAM_PATH}; svn update; rm -rf build; make\""
我該如何將它轉換爲C++使用std :: system?我試過這個:
const std::string bashFunc("bash -c \"cd " + k_programPath + "; svn update; rm -rf build; make\"");
const std::string func(getSSH(k_user, server) + " \"" + bashFunc + "\"");
std::system(func.c_str());
當我打印func時,它看起來沒問題。但是當我運行它時,它不會與ssh連接,只會嘗試在本地文件夾上執行bash命令。
編輯:這是字符串的樣子:
SSH用戶名@服務器 「的bash -c」 CD ./path/to/folder; svn update; rm -rf build;使「」
可能是個壞主意。 'svn'有一個庫,有OpenSSL等。 – 2014-11-24 23:10:08
首先使用bash有什麼問題?你能打印你制定的實際字符串嗎? – 2014-11-24 23:16:27
@Basile Starynkevitch:這只是我自己的一個小項目,沒什麼太複雜的。 – gartenriese 2014-11-24 23:17:01