Я, кажется, преследую свой хвост ...
Команда терминала
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;».
Я не смог определить, почему я получил сообщение об ошибке
sh: 1: ls -l: not found
, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):
gnome-terminal -- /bin/bash -c 'cd .; ls -l; /bin/bash'
Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.
Я не смог определить, почему я получил сообщение об ошибке
sh: 1: ls -l: not found
, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):
gnome-terminal -- /bin/bash -c 'cd .; ls -l; /bin/bash'
Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.
Я не смог определить, почему я получил сообщение об ошибке
sh: 1: ls -l: not found
, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):
gnome-terminal -- /bin/bash -c 'cd .; ls -l; /bin/bash'
Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.
Я не смог определить, почему я получил сообщение об ошибке
sh: 1: ls -l: not found
, но мне удалось достичь своей цели. Команда, которая работает (которая является упрощенной версией того, что мне в конечном итоге требуется):
gnome-terminal -- /bin/bash -c 'cd .; ls -l; /bin/bash'
Я использовал подход, который я использую только на Ubuntu, и поэтому было «безопасным» для замены x-терминал-эмулятор с гном-терминалом и $ SHELL с bash.