伊莉討論區

標題: linux 如何取得下cmd印出來的值 [打印本頁]

作者: 羅濟皓    時間: 2018-9-15 08:05 PM     標題: linux 如何取得下cmd印出來的值

餓死抬頭 , 在Linux os 下,使用c++程式,如何取得下cmd後印出來的值

例如:

system(ifconfig);
下這個指令後會印出一連串ip相關資訊
那如果我要取得印出來的資訊該怎麼做呢??

ps: 我知道linux cmd有 > 指令可以將資訊寫入檔案中,再從檔案中撈值,但是我不想這麼麻煩,
我想要直接取得印出來的值存入變數中,請問該怎麼做呢??




作者: codewice    時間: 2018-9-19 12:43 AM

聽起來是單純的 C++ 程式問題,stackoverflow 的編號 5919622 應該就是你需要的答案。

如果是要組合一些系統已經有的指令來完成工作,其實用 shell script / python / perl 這些語言會更方便。畢竟用 c++ 處理 stdout 的這些字串很痛苦,但是在 shell 裡面用 awk grep 這些工具,卻非常簡單。

如果一定要透過 native 程式去執行比較底層的工作,那我會分成兩階段 1) 用 shell script 去呼叫 ifconfig 這些指令,切出你要的資訊 2) 把切出來的資訊當成執行 c++ native 程式的參數,所以 c++ 的程式,只要專心做底層的工作就好了,不用花心思處理字串
作者: oasis33y    時間: 2018-11-1 10:01 PM

system("ipconfig>abc.txt")

這個做法如何呢?

這樣子很做弊,就是了。我是不太介意啦
作者: pentest.tw    時間: 2019-2-16 06:13 PM

我之前也有遇到類似的問題,我想要在程式跑完把結果Output到Console後保存起來

雖然用
  1. script output.txt
複製代碼
  1. bash | tee logfile.txt
複製代碼
確實能夠把Console紀錄起來,不過得事先打指令

如果要在指令執行完後,把結果存起來,實在不知道有什麼辦法
作者: alleluia001    時間: 2020-8-27 04:38 PM

提示: 作者被禁止或刪除 內容自動屏蔽




歡迎光臨 伊莉討論區 (http://a408.file-static.com/) Powered by Discuz!