我正在编写一个应用程序,我想从中运行用户指定的寻呼机。执行此操作的标准方法似乎是查看 PAGER
环境变量。
我不清楚这是程序名还是程序名和参数。我试图找到提到这一点的标准,但找不到。
我的直觉是我应该在空间上分开并执行。我对么?我遇到了各种假设环境变量的程序,例如$PAGER
并且$EDITOR
是没有环境变量的程序名称。
也许我应该改为执行sh
?
我正在编写一个应用程序,我想从中运行用户指定的寻呼机。执行此操作的标准方法似乎是查看 PAGER
环境变量。
我不清楚这是程序名还是程序名和参数。我试图找到提到这一点的标准,但找不到。
我的直觉是我应该在空间上分开并执行。我对么?我遇到了各种假设环境变量的程序,例如$PAGER
并且$EDITOR
是没有环境变量的程序名称。
也许我应该改为执行sh
?
良好的直觉。您正在调用exec (3); 如何解释您支持的环境变量取决于您。通过支持选项,您可以省去用户编写脚本将它们塞入单个 $PAGER 名称的麻烦。
一个很好的例子可能是man (1)。在我的系统上,它支持 MANPAGER,它说,
这至少意味着 PAGER 可以包含选项。你可以试试你的看看。我打赌确实如此。
我不认为 Posix 解决了如何解释表示实用程序的环境变量的问题。我认为您拥有的最好的是现有技术的常见示例。
至于是否通过“the” shell 传递它,我会说不,除非你想利用 shell 变量扩展并记录它。将外壳排除在外更简单,更可预测。