執行 top -b -n 1 | grep "homeshell" 時,輸出結果包含 grep 進程本身:
2279 1668 root S 366m 45.8 1 0.0 homeshell
9917 7149 root S 1256 0.1 1 0.0 grep homeshell
期望只保留第一行目標進程。
在管線後追加 grep -v grep,反向匹配排除含有 "grep" 關鍵字的行:
top -b -n 1 | grep "homeshell" | grep -v grep
-v:反向選擇,輸出不匹配模式的行。grep -v 排除多個關鍵字,例如 grep -v grep | grep -v "other"。pgrep -f homeshell 直接取得 PID,避免 grep 自身干擾。ps 指令搭配 --no-headers 與格式化輸出,減少後處理。grep -v grep 是 Shell 管線中過濾掉 grep 自身進程的經典慣用寫法,簡單有效。