Среда: Ubuntu 18.04. Я пытаюсь запустить xfce4-терминал с несколькими вкладками. Количество вкладок изменится, поэтому мне нужно построить строку, чтобы все аргументы передавались в xfce4-терминал.
#!/bin/bash
xfce4Args="--disable-server --hold --minimize"
Acq="ls -R"
OPTIONS="-R"
Ser="--title=Pre --command=ls ${OPTIONS}"
xfce4-terminal ${xfce4Args} --title="Acq" --command="${Acq}" \
--tab ${xfce4Args} "${Ser}"
Аргумент --command должен находиться в двойных кавычках, чтобы xfce4-терминал видел в нем одно аргументное событие, хотя он может содержать пробелы. Так что для --command = "$ {Acq}" это работает нормально. Для второй вкладки $ {Ser} не работает. Если Ser не содержит --title = Per в качестве разделителя пробелов, он работает, потому что «$ {Ser}» становится единственным понятным аргументом. Но с параметром --title = Per аргументы больше не понимаются как отдельные аргументы.
Даже когда я читал эту тему, я не смог найти рабочее решение. Я собирался попытаться использовать eval, но кажется слишком отчаянным и решил поспрашивать.