Не выполняется команда realpath nemo actions (ПКМ)

Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод inxi -Fxz в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
Аватара пользователя

Автор темы
madesta
Сообщения: 2020
Зарегистрирован: 11 июн 2017, 21:47
Решено: 30
Откуда: BY
Благодарил (а): 79 раз
Поблагодарили: 434 раза
Контактная информация:

Не выполняется команда realpath nemo actions (ПКМ)

#1

25 янв 2024, 20:56

Используя этот материал создал исполняемый realpath.nemo_action:
[Nemo Action]
Active=true
Name=Realpath
Comment=Определить путь
Exec=/usr/bin/realpath %F > /tmp/realpath.txt
Icon-Name=emblem-path
Selection=s
Extensions=any;
Quote=double
При выполнении из ПКM Nemo выходной файл /tmp/realpath.txt не появляется. При проверке выполнения команды /usr/bin/realpath "путь" > /tmp/realpath.txt в терминале выходной файл записывается. Аналогичное действие в Thunar (xfce) выполняется без проблем – realpath %f > /tmp/realpath.txt Есть у кого идеи где затык?
Результат выполнения команды нужен для того, чтобы следующий скрипт считал значение /tmp/realpath.txt и использовал его в качестве переменной $file Изначально планировалось, что в поле Exec= будет составная команда типа realpath %F && скрипт.sh Скрипт.sh примерно такой (спойлер в листинге даёт в строках искажения, поэтому имеются комментарии #):
#!/bin/sh
file=`cat /tmp/filename.txt`
# 3 пробела
sed 'y/<p>/ /' "$file" > /tmp/file1.txt
sed 'y/\// /' /tmp/file1.txt > /tmp/file2.txt
# 7 пробелов
sed -i 's/ //g' /tmp/file2.txt
# 2 пробела
sed -i 's/ //g' /tmp/file2.txt
cp /tmp/file2.txt "$file"
exit

Решение slant » 26 янв 2024, 02:07
madesta писал(а):
25 янв 2024, 20:56
Exec=/usr/bin/realpath %F > /tmp/realpath.txt
А нафига перенаправление > делать именно в .action файле? Я обычно в подобных случаях делаю скрипт-обертку, который все что нужно делает сам, а вызов такого скрипта из GUI сводится к минимуму аргументов. T.e. создайте себе скрипт вроде Exec=~/bin/path.sh %F и пишите уже в нем всю логику с перенаправлениями и вызовами других скриптов...
(У меня в хомяке есть подкаталог bin где я держу скрипты, которые мои личные - для всякой автоматизации. В том числе и такой, он еще и в PATH добавлен. И надежнее, и отлаживать проще.)

Перейти к ответу ➙

Аватара пользователя

slant
Сообщения: 4509
Зарегистрирован: 21 июн 2017, 18:09
Решено: 99
Благодарил (а): 51 раз
Поблагодарили: 1993 раза
Контактная информация:

#2

26 янв 2024, 02:07

madesta писал(а):
25 янв 2024, 20:56
Exec=/usr/bin/realpath %F > /tmp/realpath.txt
А нафига перенаправление > делать именно в .action файле? Я обычно в подобных случаях делаю скрипт-обертку, который все что нужно делает сам, а вызов такого скрипта из GUI сводится к минимуму аргументов. T.e. создайте себе скрипт вроде Exec=~/bin/path.sh %F и пишите уже в нем всю логику с перенаправлениями и вызовами других скриптов...
(У меня в хомяке есть подкаталог bin где я держу скрипты, которые мои личные - для всякой автоматизации. В том числе и такой, он еще и в PATH добавлен. И надежнее, и отлаживать проще.)

Аватара пользователя

Автор темы
madesta
Сообщения: 2020
Зарегистрирован: 11 июн 2017, 21:47
Решено: 30
Откуда: BY
Благодарил (а): 79 раз
Поблагодарили: 434 раза
Контактная информация:

Не выполняется команда realpath nemo actions (ПКМ)

#3

26 янв 2024, 14:09

slant писал(а):
26 янв 2024, 02:07
нафига перенаправление > делать именно в .action файл
Полагал, что "прокатит" как в xfce. Вся соль во втором скрипте, который будет делать в строках текста автозамены в конкретном файле. А чтобы второй понимал с каким файлом нужно производить эти действия командой realpath и получал имя этого файла и путь к нему. В ПКМ nemo кроме actions есть ещё и папка scripts, но до меня не дошло как там указать файл, с которым нужно работать. Была мысль убрать звено из realpath Попробую реализовать предложенный вариант обёртки.
Не думал, что thunar и nemo будут отличаться в плане особых действий через ПКМ. Практически каждый имеющийся для подобных действий скрипт пришлось пересматривать. Да ещё и разработчики в help пишут, что использование в nemo %f и %N является устаревшим решением и будет отменено.

Аватара пользователя

Автор темы
madesta
Сообщения: 2020
Зарегистрирован: 11 июн 2017, 21:47
Решено: 30
Откуда: BY
Благодарил (а): 79 раз
Поблагодарили: 434 раза
Контактная информация:

Не выполняется команда realpath nemo actions (ПКМ)

#4

25 фев 2024, 22:47

Получилось немного не так, но всё равно ставлю решение slant, поскольку подсказка куда идти. Всё отрабатывается как сформулировано уловием задачи, если сделать так:
Exec=sh -c 'realpath %F > /run/user/1000/filename.txt && /home/minter/Tools/scripts/modules/replace-1.sh; exec bash'

Закрыто

Вернуться в «Программирование, скриптинг, виртуализация»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей