Страница 1 из 1

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

Добавлено: 25 янв 2024, 20:56
madesta
Используя этот материал создал исполняемый 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

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

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

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

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

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