web-dev-qa-db-fra.com

Des problèmes d'espaces dans le terminal sous Ubuntu 18.04 et / ou la commande de terminal '-e' risquent de ne plus fonctionner

Il me semble que je poursuis ma queue.

La commande du terminal

x-terminal-emulator -e ${Shell}' -c cd\ .;"ls";'${Shell}

lorsqu’il est exécuté sur Ubuntu 14.04/16.04/18.04 lance un nouveau terminal et répertorie le répertoire actuel (comme prévu).

Si je modifie la commande pour inclure l'argument "-l"

x-terminal-emulator -e ${Shell}' -c cd\ .;"ls -l";'${Shell}

Je reçois le résultat attendu sur Ubuntu 14.04/16.04, mais le 18.04 (en tant que machine virtuelle sous VirtualBox), le terminal lancé contient le message:

sh: 1: ls -l: not found

J'ai exécuté les deux commandes sur Ubuntu 17.10 et alors que les deux commandes produisaient le résultat attendu, j'ai remarqué le message suivant:

Option “-e” is deprecated and might be removed in a later version of gnome-terminal.
Use “-- ” to terminate the options and put the command line to execute after it.
Warning: DESKTOP_STARTUP_ID not set and no fallback available.

Conclusion: je ne peux pas savoir si je rencontre un nouveau problème avec des espaces traités différemment dans le dernier terminal et/ou si je dois maintenant utiliser "-" et si j'utilise la commande de manière incorrecte.

En fin de compte, je veux non seulement avoir "ls -l" mais une chaîne de commandes, séparées par "&&".

2
Bernmeister

Je n'ai pas pu déterminer pourquoi je recevais le message d'erreur

sh: 1: ls -l: not found

mais a réussi à atteindre mon objectif. La commande qui fonctionne (qui est une version simplifiée de ce que je veux finalement) est la suivante:

gnome-terminal -- /bin/bash -c 'cd .; ls -l; /bin/bash'

J'ai choisi de ne pas utiliser ceci sur Ubuntu et il était donc "sûr" d'échanger l'émulateur x-terminal avec gnome-terminal et $ Shell avec bash.

0
Bernmeister