我正在編寫一個應用程序,我想從中運行用戶指定的尋呼機。執行此操作的標準方法似乎是查看 PAGER
環境變數。
我不清楚這是一個程式名稱還是一個帶有參數的程式名稱。我試圖找到提到這一點的標準,但找不到。
我的直覺是我應該劃分空間並執行。我對麼?我遇到過各種假設環境變數的程序,例如$PAGER
和$EDITOR
是沒有環境變數的程序名稱。
也許我應該執行 with sh
?
連結
答案1
我的直覺是我應該劃分空間並執行。
良好的直覺。你正在呼喚執行(3);如何解釋您支援的環境變數取決於您。透過支援選項,您可以省去使用者編寫腳本將它們塞入單一 $PAGER 名稱的麻煩。
一個值得效法的好例子可能是男人(1).在我的系統上,它支援 MANPAGER,它表示:
如果設定了 MANPAGER,則其值將用作用於顯示手冊頁的程式的名稱。如果沒有,則使用 PAGER。如果這也沒有價值,/usr/bin/less -is用來。
這至少意味著 PAGER 可以包含選項。你可以嘗試一下你的。我敢打賭確實如此。
我不認為 Posix 解決瞭如何解釋表示實用程式的環境變數的問題。我認為你擁有的最好的就是現有技術的常見例子。
至於是否透過“the”shell 傳遞它,我會說“不”,除非您想利用 shell 變數擴展並記錄它。將外殼排除在外更簡單且更可預測。