Переменная для элемента, щелкаемого правой кнопкой мыши (скажем, jpg) в скрипте bash? - PullRequest
1 голос
/ 29 апреля 2019

У меня есть очень простой bash-скрипт, который я часто запускаю из Cli, но я обнаружил, что расстраивает необходимость открывать терминал, идентифицировать нужный файл, запускать его и думать, что самый простой способ - это запустить егокак вариант от щелчка правой кнопкой мыши.Я использую Ubuntu 18.04 LTS.

Сценарий просто стирает exif-данные, оставляя теги ориентации, в основном это:

exiftool -all= -tagsfromfile @ -Orientation file-*.jpg

Есть ли способ заставить скрипт определить, на каком изображении я щелкаю правой кнопкой мыши?Я в растерянности, что положить в файл - * .jpg часть, которая будет переменной для «любого изображения, на котором я сейчас щелкаю правой кнопкой мыши».

Попытка найти хороший момент накак это сделать, но я явно либо не использую правильные условия поиска, либо это делается не очень часто.Заранее благодарю за любую помощь!

1 Ответ

2 голосов
/ 29 апреля 2019

Если вы хотите, чтобы ваш скрипт запускался в меню, вызываемом правой кнопкой мыши, вы должны изменить свой скрипт и определить файл (ы) в качестве аргументов.это происходит просто путем изменения вашего раздела файла с $1 на $n в качестве параметра (ов).

, насколько я знаю, Ubuntu использует nautilus в качестве файлового менеджера.Вы можете запустить nautilus-actions-config-tool либо из своего терминала, либо из dash и указать своему сценарию имя и команду для запуска.Вы можете перейти по этой ссылке для изучения иллюстрации: Ubuntu Nautilus Defile скрипт в меню

например:

#!/bin/bash

if [ "$1" != "" ]; then
    echo "Positional parameter 1 contains value $1"
else
    echo "Positional parameter 1 is empty"
fi

для всех аргументов:

#!/bin/bash

if [[ "$#" -gt 0 ]]; then

  for arg in "$@"; do

    echo $arg

  done

fi

вот изображение, которое показывает, что скрипт работал

...