GNU/Linux >> Belajar Linux >  >> Linux

Bisakah $pager Berisi Spasi?

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.


Linux
  1. Referensi Variabel Lingkungan *di* /etc/environment?

  2. Bagaimana saya bisa menggunakan xargs untuk menyalin file yang memiliki spasi dan tanda kutip di namanya?

  3. Bagaimana saya bisa mengubah spasi menjadi tab di Vim atau Linux?

  1. Bisakah ',,' dialias dengan '..'?

  2. Sinkronisasi waktu dalam lingkungan yang heterogen

  3. Lingkungan Peretasan Kernel

  1. Bisakah Tema Warna Mengikat Ke Buffer?

  2. C # di lingkungan linux

  3. Di mana saya dapat mengatur variabel lingkungan yang akan digunakan crontab?