'sh: /dev/null: Permission denied' 在 OS X 上使用 PAGER('/dev/null') 时

'sh: /dev/null: Permission denied' when using PAGER('/dev/null') on OS X

我试图按照这个 post 抑制八度音程的一些输出::

oldpager = PAGER('/dev/null');
oldpso = page_screen_output(1);
oldpoi = page_output_immediately(1);

... do some stuff

PAGER(oldpager);
page_screen_output(oldpso);
page_output_immediately(oldpoi);

但是,当我 运行 我的脚本时,octave 显示错误:

sh: /dev/null: Permission denied

更新:

$ ls -l /dev/null
crw-rw-rw-  1 root  wheel    3,   2 24 Jan 19:07 /dev/null

问题是 PAGER 需要一个 程序 (例如 less),而 /dev/null 不是一个程序。

Query or set the internal variable that specifies the program to use to display terminal output on your system.

相反,您可以设置 PAGER 使其使用 less,然后将输出直接通过管道传输到 /dev/null

PAGER('less > /dev/null')