2017-02-26 1 views
1

Wenn ich $octave -q --no-gui starte, werden beim Drücken des Pfeils nach oben vergangene Befehle angezeigt. Nun, wenn dieses Skript ausgeführtDer Pfeil nach oben zeigt keine Octave-History-Befehle von einem ausführbaren Skript an.

#!/usr/bin/octave -q 

a = input(">> ", "s"); 

es wird für eine Eingabe aufgefordert, aber wenn Pfeil nach oben drücken es zeigt die Zeichen ^[[A. Dies ist für Version 4.0.0, aber in älteren Versionen, wie 3.2.4, funktionierte der Pfeil nach oben im ausführbaren Skript gut und zeigte die Befehle in der History-Datei, genau wie die andere Eingabeaufforderung. Ich habe überprüft und beide Läufe sind auf der gleichen Verlaufsdatei, so kann die Sache in der Art und Weise, wie die Eingabe ist genommen werden.

Wirklich diese Funktion für eine Programmierumgebung, jede Hilfe ist willkommen.

Update: Diese Optionen für Octave Initialisierung könnten verwandt sein:

--line-editing   Force readline use for command-line editing. 
--no-line-editing  Don't use readline for command-line editing. 

weil $octave -q --no-gui --no-line-editing das gleiche Ergebnis des Skripts erzeugt (das heißt keine Geschichte, nur ^[[A). So, jetzt ist die Frage, wie Octave zu starten aus dem Skript mit der --line-editing Option, als ob hinzugefügt, es versäumt wird:

/usr/lib/x86_64-linux-gnu/octave/4.0.0/exec/x86_64-pc-linux-gnu/octave-gui: invalid option -- ' ' 

Antwort

1

Wenn die Skript Start verzichtet auf die -q Option, dann ist es lange Optionen ermöglicht, so Erstellen Sie einfach das Skript wie folgt:

#!/usr/bin/octave --line-editing 

und es funktioniert gut, jetzt zeigt sich die Geschichte.

Verwandte Themen