linux中>

今天在寫程序的時候,碰到個bug,排查了兩個小時才發現。

大概是這樣的:

在程序中想把一條命令執行結果重定向到a.txt。

例如ps > a.txt。

發現a.txt內容一直爲空。原來以前封裝的system函數中使用了這個判斷,

if (NULL == strstr(cmd, "echo"))
 {
         strncat(cmd, " > /dev/null", 12);
}

把所有命令結果都給重定向到/dev/null中去了,相當於執行了:

ps > a.txt > /dev/null。

這時a.txt內容是空的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章