ユーザー指定のポケットベルを実行するアプリケーションを作成しています。これを行う標準的な方法は、PAGER
を確認することのようです。 環境変数。
これがプログラム名なのか、引数付きのプログラム名なのかわかりません。これに言及している標準を見つけようとしましたが、見つかりませんでした。
私の直感は、スペースを分割して実行する必要があるということです。私は正しいですか? $PAGER
のような環境変数を想定したさまざまなプログラムに出くわしました。 および$EDITOR
環境変数のないプログラム名です。
おそらく、sh
で実行する必要があります 代わりに?
リンク
- この質問では、さまざまな一般的な環境変数のソースについて説明します
承認された回答:
私の直感は、スペースを分割して実行する必要があるということです。
良い本能。 execに電話しています (3);サポートする環境変数をどのように解釈するかはあなた次第です。オプションをサポートすることで、ユーザーがスクリプトを作成して1つの$PAGER名にまとめる手間を省くことができます。
従うべき良い例は男かもしれません (1)。私のシステムでは、MANPAGERをサポートしています。
MANPAGERが設定されている場合、その値は、マニュアルページを表示するために使用するプログラムの名前として
使用されます。そうでない場合は、PAGERが使用されます。
どちらにも値がない場合は、 / usr / bin / less -is 使用されます。
これは、少なくともPAGERにオプションを含めることができることを意味します。あなたはあなたのものを試して見るかもしれません。きっとそうだろう。
Posixは、ユーティリティを表す環境変数がどのように解釈されるかという問題に対処しているとは思いません。あなたが持っている最高のものは、先行技術の一般的な例だと思います。
「the」シェルを通過させるかどうかについては、シェル変数の拡張を利用して文書化する場合を除いて、「いいえ」と言います。シェルをシェルから遠ざける方が簡単で予測可能です。