Почему мой сценарий оболочки выполняется только в режиме выполнения & ldquo; Отображать вывод & rdquo ;?

Я написал сценарий bash (здесь) для извлечения координат EXIF ​​GPS из изображения и отображения этих координат в качестве указателя в Картах Google. Он отлично работает, когда используется в терминале:

GUI=1 ./show_location_in_chrome.sh /path/to/image.jpg

Я добавил команду Nautilus правой кнопкой мыши, используя Nautilus-Actions с этими настройками:

Path: GUI=1 /home/tomas/show_location_in_chrome.sh Parameters: %f Basename filter: *.jpg

Но когда я щелкнул правой кнопкой мыши файл JPEG и щелкнул элемент меню, ничего не происходит. Единственное исключение - когда «Режим выполнения» установлен в «Отображать вывод», и в этом случае сценарий работает по назначению. К сожалению, Nautilus также отображает большое окно с выходом скрипта, которое мне нужно вручную закрывать каждый раз.

Как я могу понять, почему сценарий не работает в каком-либо другом режиме выполнения, чем «Display output»? Прокомментируйте, если я могу предоставить более конкретную информацию.

«Команда запуска», отображаемая на выходе команды:

/bin/sh -c 'GUI=1 /home/tomas/show_location_in_chrome.sh '\''/home/tomas/Dropbox/Camera Up loads/2013-07-21 14.58.33.jpg'\'''

Редактировать: I добавили #!/usr/bin/env bash в начало моего скрипта и удалили явный вызов bash в настройке «Путь». Ничего не изменилось.

Edit : Я добавил echo "Works" > ~/test.txt в начало скрипта (ниже shebang), затем щелкнул элемент меню. Никакие файлы не были добавлены в мою домашнюю папку, поэтому я пришел к выводу, что сценарий даже не выполняется, когда в режиме выполнения есть что-то иное, чем «Отображать вывод».

1
задан 26 July 2013 в 06:05

0 ответов

Другие вопросы по тегам:

Похожие вопросы: