2015-11-01 70 views
0

我想明白爲什麼當我在終端它的工作原理,但是當我通過一個腳本來運行它不bash腳本 - > PS讀什麼命令啓動的腳本中

執行以下命令

當我在終端

./tparente & ps --no-headers -C tparente -o rss,vsz >> "mem_results" 

的mem_result文件運行它的命令有寫在它的RSS和VSZ。 當我運行它通過我的終端的命令略加修改,它是這樣寫的:

sh ~/Documents/tparente & ps --no-headers -C tparente -o rss,vsz >> "mem_results" 

有迴音命令上述命令之前寫在mem_results一些文字,這些作品。 如果我刪除了no標頭標誌,它會在文件中寫入標頭,但不會寫入結果。

我知道腳本運行,因爲它在最後生成一個文件。 這一直在困擾着我幾個小時。

謝謝 Alex。

+1

請編輯您的問題,以顯示在這兩種情況下mem_results'的'內容。 (你可能想追加'_cmdline'和'_script',還記得'>>'是追加到現有的文件中的,如果你犯了一個錯誤,當你去的時候,錯誤的版本會一直出現在文件的頂部你可能想切換到'> mem_results_cmdline'等等。祝你好運。 – shellter

+0

你確定'tparente'仍然在第二種情況下正常運行嗎?是否使用'bash〜/ Documents/tparente&ps --no-headers -C tparente -o rss,vsz >>「mem_results」'正常工作嗎? –

+0

使用bash或shell不會提供正確的輸出。 –

回答

0

我想我可能找到了答案。

試圖通過命令行配置的一對夫婦後:這一個工程:

./tparente & ps --no-headers -C tparente -o rss,vsz >> "mem_results" 

的差別是細微的(沒有「SH」) 這條線路是從腳本;我注意到當我試圖運行腳本並在另一個終端中運行ps命令時,tparente進程就在那裏。我不知道爲什麼,但我的直覺告訴我要刪除SH,我做了,它的工作原理。

如果任何人有一個正確的解釋繼續:)