2017-02-26 3 views
1

Si j'exécute $octave -q --no-gui, appuyer sur la flèche vers le haut affiche les commandes passées. Maintenant, lors de l'exécution de ce scriptFlèche vers le haut ne pas afficher les commandes d'historique d'octave à partir d'un script exécutable

#!/usr/bin/octave -q 

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

il demandera une entrée, mais lorsque vous appuyez sur la flèche haut, il montre les caractères ^[[A. C'est pour la version 4.0.0, mais dans les versions plus anciennes, comme 3.2.4, la flèche vers le haut fonctionnait bien dans le script exécutable, montrant les commandes dans le fichier historique, tout comme l'autre invite. J'ai vérifié et les deux courses regardent le même dossier d'histoire, ainsi peut-être que la chose est dans la manière dont l'entrée est prise.

Vous avez vraiment besoin de cette fonctionnalité pour un environnement de programmation, toute aide est la bienvenue.

Mise à jour: ces options pour l'initialisation Octave pourrait être lié:

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

car $octave -q --no-gui --no-line-editing produit le même résultat du script (à savoir pas d'histoire, juste ^[[A). Donc, maintenant la question est de savoir comment lancer Octave du script avec l'option --line-editing, comme si on les ajoute, il a échoué:

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

Répondre

1

Si le script ne se lance sans l'option -q, il permet des options longues, donc il suffit de créer le script comme ceci:

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

et cela fonctionne bien, maintenant l'histoire se présente.