Problemas com espaços no terminal no Ubuntu 18.04 e / ou comando de terminal '-e' podem não funcionar mais

2

Parece que estou perseguindo meu rabo ...

O comando do terminal

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

quando executado no Ubuntu 14.04 / 16.04 / 18.04 lança um novo terminal e lista o diretório atual (como esperado).

Se eu modificar o comando para incluir o argumento "-l"

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

Eu recebo o resultado esperado no Ubuntu 14.04 / 16.04, mas no 18.04 (como uma máquina virtual no VirtualBox) o terminal iniciado contém a mensagem:

sh: 1: ls -l: not found

Eu executei os dois comandos no Ubuntu 17.10 e enquanto ambos os comandos produziram o resultado esperado, notei a seguinte mensagem:

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.

Conclusão: não consigo descobrir se estou atingindo algum problema novo com espaços tratados diferentemente no terminal mais recente e / ou agora tendo que usar "-" e estou usando o comando incorretamente.

Por fim, quero não apenas ter "ls -l", mas uma sequência de comandos, separados por "& &".

    
por Bernmeister 07.05.2018 / 13:30

1 resposta

0

Não consegui determinar porque recebi a mensagem de erro

sh: 1: ls -l: not found

mas conseguiu alcançar meu objetivo. O comando que funciona (que é uma versão simplificada do que eu quero) é:

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

Eu tomei a abordagem de que eu só estava rodando isso no Ubuntu e por isso era "seguro" trocar o emulador x-terminal pelo gnome-terminal e $ SHELL pelo bash.

    
por Bernmeister 13.05.2018 / 14:18