2017-10-10 52 views
1

現在我有一個任務,要求我排除我的當前用戶名在頂部輸出。我發現放$ USER允許我用它來過濾只有我的用戶名,但是添加一個!它不會讓我做任何事:頂部:組合!和一個環境變量

top -U !$USER 

我不能呼應,並找出$ USER是什麼,所以我假設它是命令的一部分。有人能告訴我我應該在這裏做什麼,因爲我整夜搜索了一下,沒有發現我在找什麼。

另外:我必須排除root以及如何將一個選項中的多個參數?

+0

1.感嘆號在某些(ALL?)殼保留字,所以你需要逃避它。 2.我不認爲你可以把多個用戶名放在頂部,但在頂部使用'grep'。 –

回答

1

你已經做了正確的,但版本很重要。 $USER將當前用戶名稱存儲爲環境變量。 請檢查wetther top命令版本是否高於v3.2.0。

正確的答案是:

$ top -U \!$USER (introduced in top v3.2.9?) 

man top-U選項:

Prepending an exclamation point ('!') to the user id or name 
instructs top to display only processes with users not match- 
ing the one provided. 
+0

感謝您的迴應;我試過這個,但它不起作用。另一個人說逃跑的工作雖然;基本上不得不在單引號周圍包裹感嘆號才能起作用。我必須在可能具有較舊shell版本的學校服務器上工作,所以就是這樣。 – ejabno