Вопрос Командный запуск в терминале, а не с ярлыками


Как объясняют в этом нить, Я хочу добавить ярлыки для переключения рабочих областей (в Mate).

Я нашел способ переключить рабочее пространство для терминала: wmctrl -s $(wmctrl -d | grep "*" | awk '{print $1+1}'),

Но эта команда не работает, когда я добавляю ее в диспетчер ярлыков. Кто-нибудь знает, почему?


1
2018-03-16 17:18


происхождения


Это работает, если вы специально запускаете его с помощью bash, т. Е. Устанавливаете это как ярлык bash -c "wmctrl -s $(wmctrl -d | grep '*' | awk '{print $1+1}')"? - Byte Commander
Да, это работает ! Вы можете добавить его в качестве ответа :) - Phantom


ответы:


Команды быстрого доступа клавиатуры IIRC работают в sh shell, который не имеет всех функций Bash.

Однако ваша команда использует некоторый синтаксис, основанный на bash, поэтому он не работает. Самое простое решение - просто запустить его в оболочке Bash, заменив его следующей командой:

bash -c "wmctrl -s $(wmctrl -d | grep '*' | awk '{print $1+1}')"

4
2018-03-16 20:02