#1 Le 22/08/2007, à 22:37
- Syrion
[shell]comportement de /bin/more étrange
Bonjour,
j'ai constaté un comportement différent de /bin/more selon qu'on le lance dans un terminal ou depuis un raccourci du bureau.
Plus exactement, /bin/more est dans un script bash (le même shell que mes fenêtre terminal gnome).
Le shell en question est /usr/bin/eclipse, customisé pour lire des arguments supplémentaire dans son eclipse.ini.
Seulement, depuis quelque temps, lancer /usr/bin/eclipse via un lanceur ou le menu Application->programmation->eclipse faisait crasher éclipse. J'ai donc fait afficher via echo les variables pour m'apercevoir que /bin/more, lancé depuis un lanceur rajoutait ":::::::::::: /chemin/du/fichier :::::::::" dans sa sortie, ce qu'il ne fait JAMAIS dans un terminal (c'est cette sortie polluée qui contaminait la ligne de commande éclipse qui du coup était invalide).
Je souhaiterais donc avoir l'avis d'un utilisateur expérimenté qui m'explique pouruoi `/bin/more` ne donne pas le même résultat selon qu'on lance le shell depuis un lanceur du bureau ou un terminal ??
(Pour info j'ai résolu mon pb initial en remplçant /bin/more par /bin/cat)
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne
#2 Le 23/08/2007, à 01:52
- best_friend_fr
Re : [shell]comportement de /bin/more étrange
Salut
Tu peux nous donner ton script ?
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#3 Le 23/08/2007, à 09:49
- Syrion
Re : [shell]comportement de /bin/more étrange
En isolant la partie fautive :
#préexistant, prévu pour rajouter des arguments à la mano
VMARGS=""
INSTALL=/usr/lib/eclipse
ECLIPSE_INI_PATH=${INSTALL}/eclipse.ini
#Des echos (ici retirés) m'ont permis de valider que le contenu des variables ci-dessus était OK
#ajouté par moi :
VMARGS="${VMARGS} "`/bin/more ${ECLIPSE_INI_PATH}`
echo "VMARGS=${VMARGS}"
Le dernier echo donne
VMARGS= :::::::::::: /usr/lib/eclipse/eclipse.ini :::::::::::: -Xms96m -Xmx256m -XX:etc...
au lieu de
VMARGS= -Xms96m -Xmx256m -XX:etc...
En fait le résultat avec des ":::::::" est obtenu en lançant le shell depuis un raccourci du bureau, alors que le second (qui est OK) est obtenu soit en lançant depuis un terminal, soit en remplçant "more" par "cat"....
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne
#4 Le 23/08/2007, à 18:22
- best_friend_fr
Re : [shell]comportement de /bin/more étrange
Bon, chez moi, je n'arrive pas a reproduire l'erreur. Tu le crees comment ton raccourci ?
Ceci dit, je pense que cat est plus adapte a ce que tu veux faire, parce que more est pour afficher quelque chose page par page. Dans le cas ou tu es dans un terminal mal defini (comme avec un raccourci), je ne connais pas le comportement.
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#5 Le 23/08/2007, à 21:32
- Syrion
Re : [shell]comportement de /bin/more étrange
c'était un raccourci déjà créé qui lance /usr/bin/eclipse (le shell) hors d'un terminal. D'après un gars de linuxfr.org, more affiche les "::::" entr'autres quand stdin n'est pas associée à un terminal, ce qui explique ce qui se passe lors d'un lancement par raccourci.
Mais cela n'explique pas pourquoi ça marchait initialement et que ça ne marche plus(le raccourci est placé par l'installation du package eclipse dispos dans les dépôts officiels...
Ubuntu 24.04.4 amd64 sur Dell XPS 7590 15"
Ubuntu Server 24.04.4 Eeepc 1215P
Ubuntu 24.10 sur Ryzen 5 5600X, 32Go DDR4-3600, NVidia RTX 3060Ti
Hors ligne