Ярлык на рабочем столе работает для скрипта bash, но не для самого скрипта?

Мне нужно создать скрипт, который я могу привязать к сочетанию клавиш. Скрипт открывает экземпляр mozilla, если он не открыт, и если он минимизирует или максимизирует окно. Вроде как выпадающий терминал.

Сценарий работает, когда я открываю его с помощью ярлыка на рабочем столе, но если я открываю сценарий напрямую, щелкая по нему или макросом для сочетания клавиш, он не работает должным образом. Это только открывает Mozilla, но не минимизирует или максимизирует

#!/bin/bash touch memory.txt myvar="$( xdotool search Mozilla )" status="$(grep [0-1] memory.txt)" run=0 if [ $(grep -c [0-9] << memory.txt run=1 fi if [ $status = 1 ] && [ $run -eq 0 ] then $(wmctrl -ia $myvar) echo -n "0" > memory.txt fi exit 

One Solution collect form web for “Ярлык на рабочем столе работает для скрипта bash, но не для самого скрипта?”

  • Какую среду рабочего стола вы используете?
  • Как вы определяете связывание клавиш? Через скрипт или графический интерфейс или инструмент?

Что касается вашего скрипта, не забудьте определить полный путь вашего скрипта в менеджере ярлыков. Не используйте ~ потому что это не будет интерпретироваться графической оболочкой. Кроме того, обязательно установите исполняемый скрипт.

Вот скрипт, который я использую для выполнения того же, что и вы: (я использую его для другого приложения, поэтому я изменил код ниже, чтобы он представлял «firefox» для соответствия вашему вопросу.) Примечание: я использую GNOME 3.28.2 и xdotool 3.20160805.1

 #!/bin/bash wid=$(xdotool search --onlyvisible --name 'firefox') if test "$wid" = "" ; then exec firefox & fi actual=$(xdotool getactivewindow) if test $wid = $actual ; then xdotool windowminimize $wid else xdotool windowactivate $wid fi ##EOF 
  • Захват в переменных оболочки аргументов после команды (между скобками)
  • Как искать шаблон с помощью grep?
  • Печатать строки файла между двумя шаблонами соответствия
  • Поиск дубликатов экземпляров тега в файле
  • Как использовать + в регулярном выражении в sed?
  • Как экспортировать данные в терминал в файл (например, файл csv)
  • Строки соответствия, не заканчивающиеся на определенный символ
  • Как разобрать скрипт на Bash? (платформа MIPS)?
  • make grep подтвердить все соответствия
  • Как grep «a» и «aa» после числа?
  • Количество файлов, содержащих заданную строку
  • Linux и Unix - лучшая ОС в мире.