輸出要指望我用這個開放的ePub文件:lsof的,grepping的
# - determine how many epubs are open -
NUMBER_OF_OPEN_EPUBS=0
while read -r LINE ; do
if [ "$(echo $LINE | rev | cut -c1-5 | rev)" = ".epub" ]; then
NUMBER_OF_OPEN_EPUBS="$(($NUMBER_OF_OPEN_EPUBS+1))"
fi
done < <(lsof | grep "\.epub")
# --- end determine how many epubs are open ---
,它總是工作。但我想將它擴展到fb2文件(類似於epub),所以我得到了fb2進行測試,但無法使其工作。爲了說明根本問題,這是最簡單的形式:
用2個檔,/test.epub
& /test.fb2
開在單獨的窗口fbreader
,在bash,在lxterminal,在Ubuntu下14.04 LTS和滑動Openbox
:
[email protected]:~$ lsof | grep "\.fb2" | tr -s " "
[email protected]:~$ lsof | grep "\.epub" | tr -s " "
fbreader 28982 me 12r REG 8,5 346340 8375 /test.epub
[email protected]:~$
爲什麼不lsof
請參閱fb2
?實際上,我想我可以使用ps
,這對fb2
文件沒有偏見(順便說明grep
不是怪),但爲什麼lsof
snob fb2
文件?
================== P.S.儘管如此,感謝海德先生,我已經解決了這個問題,以便將它放在適當的背景下。所述的問題反映了一個隱含的和未經檢驗的假設,結果是錯誤的。見答案。
你的意思是'/ test.fb2'而不是'/ test.fbw'嗎? – Steven
是的。 Oohhhh。帶我看幾個表達你的意思。稍後,如果我能弄清楚如何編輯。 –
@Steven。的確,感謝你的支持。不知怎的,我可以給你布朗尼點嗎?我糾正了這個錯誤,還有一個語法錯誤。有人建議突出顯示文件和程序名稱,就像您在評論中所做的一樣,所以我接受了這一點,儘管我很好奇爲什麼這是習慣。 –