编程中经常需要在程序中使用shell命令来简化程序,这里记录一下。
1. C++ 执行shell命令
1 #include <iostream> 2 #include <string> 3 #include <stdio.h> 4 5 int exec_cmd(std::string cmd, std::string &res){ 6 if (cmd.size() == 0){ //cmd is empty 7 return -1; 8 } 9 10 char buffer[1024] = {0}; 11 std::string result = ""; 12 FILE *pin = popen(cmd.c_str(), "r"); 13 if (!pin) { //popen failed 14 return -1; 15 } 16 17 res.clear(); 18 while(!feof(pin)){ 19 if(fgets(buffer, sizeof(buffer), pin) != NULL){ 20 result += buffer; 21 } 22 } 23 24 res = result; 25 return pclose(pin); //-1:pclose failed; else shell ret 26 } 27 28 int main(){ 29 std::string cmd = "ls -ial"; 30 std::string res; 31 32 std::cout << "ret = " << exec_cmd(cmd, res) << std::endl; 33 std::cout << res << std::endl; 34 35 return 0; 36 }
2. Php执行shell命令
1 <?php 2 $cmd = "wc -l ./test.php"; 3 exec($cmd, $output, $code); 4 5 echo $code."\n"; 6 print_r($output); 7 ?>
3. Python执行shell命令
1 import commands 2 3 status, output = commands.getstatusoutput('ls -lt') 4 5 print status 6 print output