Ярлык на рабочем столе работает для скрипта 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 
  • Что означает опция --color = auto для GNU grep?
  • grep отлично работает в командной строке, но ничего не возвращает в скрипте
  • grep для нескольких регулярных выражений и подсчет количества вхождений
  • Найти файлы, содержащие строку в имени файла и другую строку в файле?
  • сравнивая первый столбец из двух файлов и печатая всю строку второго файла, если совпадают первые столбцы
  • grep для слов не более определенной длины
  • Как исключить некоторые файлы, не соответствующие определенным расширениям с помощью grep?
  • grep выходит из-за использования плунжера - могу ли я заставить grep не использовать столько бара?
  • Как вы соответствуете строке, которая начинается с специального символа с помощью grep?
  • Команда, чтобы увидеть, находится ли слово в списке файлов и выводит, сколько файлов оно находится в
  • Использование awk и grep для результатов iftop
  • Linux и Unix - лучшая ОС в мире.