Saya sedang menulis aplikasi tempat saya ingin menjalankan pager yang ditentukan pengguna. Cara standar untuk melakukannya adalah dengan melihat PAGER
variabel lingkungan.
Saya tidak jelas apakah ini nama program atau nama program bersama dengan argumen. Saya mencoba menemukan standar yang menyebutkan ini, tetapi tidak bisa.
Perasaan saya adalah bahwa saya harus membagi spasi dan mengeksekusi. Apakah saya benar? Saya telah menemukan berbagai program yang mengasumsikan variabel lingkungan seperti $PAGER
dan $EDITOR
adalah nama program tanpa variabel lingkungan.
Mungkin saya harus mengeksekusi dengan sh
sebagai gantinya?
Tautan
- Pertanyaan ini membahas sumber berbagai variabel lingkungan umum
Jawaban yang Diterima:
Perasaan saya adalah bahwa saya harus membagi spasi dan mengeksekusi.
Insting yang bagus. Anda menelepon exec (3); terserah Anda bagaimana menafsirkan variabel lingkungan yang Anda dukung. Dengan mendukung opsi, Anda menghemat pengguna dari kesulitan menulis skrip untuk memasukkannya ke dalam satu nama $PAGER.
Contoh yang baik untuk diikuti adalah pria (1). Di sistem saya, ini mendukung MANPAGER, yang mengatakan,
Jika MANPAGER diset, nilainya digunakan sebagai nama program
yang akan digunakan untuk menampilkan halaman manual. Jika tidak, maka PAGER digunakan. Jika
itu juga tidak memiliki nilai, /usr/bin/less -is digunakan.
Itu setidaknya menyiratkan bahwa PAGER dapat berisi opsi. Anda mungkin bereksperimen dengan milik Anda untuk melihat. Saya yakin begitu.
Saya tidak berpikir Posix menjawab pertanyaan tentang bagaimana variabel lingkungan yang menunjukkan utilitas ditafsirkan. Saya pikir yang terbaik yang Anda miliki adalah contoh umum dari prior art.
Mengenai apakah akan meneruskannya melalui shell "" atau tidak, saya akan mengatakan Tidak, kecuali jika Anda ingin memanfaatkan ekspansi variabel shell, dan mendokumentasikannya. Jauh lebih sederhana dan lebih dapat diprediksi untuk tidak menggunakan cangkangnya.