PAGER ('/ dev / null'): Berechtigung abgelehnt

583
vhnd

Wenn Sie PAGER /dev/nullwie im Netz vorgeschlagen einstellen, um zu verhindern, dass jeder Befehl in stdout gedruckt wird, wird unter OS X 10.6 ein Fehler ausgegeben:

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

Irgendwelche Möglichkeit, das zu beheben?

-1
Was ist das Erste, was Sie sich anschauen sollten? Die Berechtigungen von / dev / null. Was sind Sie? Daraus sollten Sie Ihr Problem herausfinden können. mdpc vor 10 Jahren 1
yeah, als hättest du versucht, chmod + x / dev / null selbst zu verwenden, und es hat funktioniert vhnd vor 10 Jahren 0

2 Antworten auf die Frage

1
grawity

Die Fehlermeldung wird angezeigt, da Octave erwartet, dass PAGER auf ein Programm gesetzt wird, das ausgeführt werden kann und der Text als 'stdin' angegeben wird. Die /dev/nullDatei ist offensichtlich kein Programm und verfügt nicht über den Berechtigungsbot "Executable". Letzteres verursacht den Berechtigungsfehler.

Versuchen /usr/bin/catoder /usr/bin/truestatt.

0
vhnd

Wie die Grawity bereits sagte, erwartet Octave in der Tat, dass PAGER auf ein Programm eingestellt ist, aber es wird catein Fehler ausgegeben, und es wird trueeine Warnung wegen einer defekten Pipe ausgelöst.

So stellte sich Octave als Pipe-Ausgabe für PAGER vor und korrigierte dies, indem er die Ausgabe eines gültigen Programms auf /dev/nullfolgende Weise umleitete :

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