Проблема с пробелами в терминале на Ubuntu 18.04 и / или командой терминала -e может перестать работать

Я, кажется, преследую свой хвост ...

Команда терминала

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

при запуске на Ubuntu 14.04 / 16.04 / 18.04 запускает новый терминал и перечисляет текущий каталог (как и ожидалось).

Если я модифицирую команду для включения аргумента «-l»

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

, я получаю ожидаемый результат на Ubuntu 14.04 / 16.04, но на 18.04 (как виртуальная машина под VirtualBox) запущенный терминал содержит сообщение:

sh: 1: ls -l: not found

Я выполнил обе команды на Ubuntu 17.10, и в то время как обе команды дали ожидаемый результат, я заметил следующее сообщение:

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.

Нижняя строка: я не могу понять, ударяю ли я какую-то новую проблему с пробелами, обрабатываемыми по-разному в последнем терминале и / или теперь использую «-», и я неправильно использую эту команду.

В конечном счете, я хочу не просто «ls -l», а строку команд, разделенных «& amp; & amp;».

2
задан 7 May 2018 в 14:30

4 ответа

Я не смог определить, почему я получил сообщение об ошибке

sh: 1: ls -l: not found

, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):

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

Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.

0
ответ дан 22 May 2018 в 10:55

Я не смог определить, почему я получил сообщение об ошибке

sh: 1: ls -l: not found

, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):

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

Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.

0
ответ дан 17 July 2018 в 14:59

Я не смог определить, почему я получил сообщение об ошибке

sh: 1: ls -l: not found

, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):

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

Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.

0
ответ дан 20 July 2018 в 15:26

Я не смог определить, почему я получил сообщение об ошибке

sh: 1: ls -l: not found

, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):

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

Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.

0
ответ дан 23 July 2018 в 15:57

Другие вопросы по тегам:

Похожие вопросы: