PAGER('/dev/null'):权限被拒绝

PAGER('/dev/null'):权限被拒绝

/dev/null通过网络将 PAGER 设置为建议的格式以防止每个命令都打印在 stdout 中,在 OS X 10.6 下会出现错误:

octave:1> PAGER('/dev/null');
octave:2> 1
sh: /dev/null: Permission denied

有任何解决这个问题的方法吗?

答案1

显示错误消息是因为 Octave 期望将 PAGER 设置为程序可以运行并将文本作为“stdin”输入。该/dev/null文件显然不是程序,并且它没有“可执行”权限机器人;后者是导致权限错误的原因。

尝试/usr/bin/cat或者/usr/bin/true代替。

答案2

就像 grawity 上面所说的那样,Octave 确实希望将 PAGER 设置为一个程序,但是cat却引发了错误,true并引发了管道损坏警告。

因此,我们认为 Octave 只是将输出传输到 PAGER,并通过将有效程序的输出重定向到以下位置来解决这个问题/dev/null

PAGER('less > /dev/null')
PAGER('true > /dev/null')

相关内容