Как перетащить несколько файлов для разработки каждого файла в сценарии bash?

529
Linuxwhisperer

Я использую Dolphin в среде KDE Plasma 5 Desktop. Здесь я написал Баш скрипт, который может разработать ровно один файл, когда я перетащить файл из Dolphin и падение его на «.desktop» определенного сценария со значком, который затем выполняет, например /home/user/scripts/list_all_drags.sh %f.

Это работает с таким одним файлом. Теперь я хотел бы перетащить несколько выбранных файлов из Dolphin в сценарий, и сценарий должен разработать свои процедуры для каждой записи файла. Это не работает, хотя я использовал %Fдля нескольких файлов, а не %fдля одного файла.

В результате открывается несколько окон терминала, по одному для каждой записи файла. Что мне нужно, так это код, который должен быть выполнен в ОДНОМ сценарии, для каждой отброшенной записи файла, без открытия нескольких окон терминала, кроме первого. Точно, «цикл» для запуска или выполнения команд с удаленными файлами, без какого-либо дополнительного нажатия клавиши.

Я не знаю, как обрабатывать %Fзначение параметра в моем сценарии.

0
Работает у меня как рекламируется, я получаю отдельные скрипты, только если я заменю `% F` на`% f`. Как вы создаете .desktop? xenoid 6 лет назад 0
Когда вы щелкнете правой кнопкой мыши по символу меню левой стороной вниз, затем выберите «редактировать приложения» (первая запись), тогда вы увидите структуру меню KDE. Здесь вы можете выбрать группу, а затем внутри группы вы можете выбрать «Новый элемент» в строке меню. Это уже базовый файл ".desktop", который вы можете использовать для своих нужд. Linuxwhisperer 6 лет назад 0
... назовите его, выберите значок и выберите программу или скрипт, который вы хотите выполнить, затем вам нужно будет «Сохранить» (Левый элемент в строке меню), чтобы создать этот новый файл «.desktop», который называется как вы назвали это. Этот файл сохраняется по адресу: /home/user/.local/share/plasma_icons Linuxwhisperer 6 лет назад 0
Да, я знаю, но это не создает значок на рабочем столе ... Так куда вы перетаскиваете свои файлы? Кроме того, если вы выберете несколько файлов в Dolphin, щелкните правой кнопкой мыши, откройте с помощью ... и выберите свое приложение, все ли они обрабатываются вместе или они все еще получают экземпляр скрипта каждый? xenoid 6 лет назад 0
Когда вы закончили новый элемент с помощью «Сохранить», вы можете найти его, введя имя при запуске меню KDE (Plasma). Затем вы можете перетащить новый элемент (значок) на рабочий стол или в строку задач. Linuxwhisperer 6 лет назад 0
Еще одно одиночное исполнение. Вы пробовали "Открыть с помощью>"? xenoid 6 лет назад 0
Нет, я не. Это не было целью моей цели. Я просто хочу выполнить свой сценарий для каждого отмеченного (выбранного) файла, поскольку можно легко перетаскивать выбранные файлы из одного места в другое. Linuxwhisperer 6 лет назад 0
Да, но это должно быть то же самое поведение, потому что вы будете использовать тот же файл .desktop. Если вы получите один скрипт, вызовите этот путь; .desktop в порядке, и проблема в другом месте. Так же, как и отладка проблемы, вы знаете ... xenoid 6 лет назад 0

1 ответ на вопрос

0
Linuxwhisperer

Я думаю, что нашел правильный ответ, особенно как обрабатывать несколько параметров с% F.

Сначала я выбираю свои записи (файлы) в файловом менеджере. Во-вторых, я перетаскиваю все эти отмеченные файлы на иконку своего скрипта и помещаю их на эту иконку Внутри этого скрипта, который выполняется с "/home/user/scripts/myscript.sh% F", есть подпрограмма, которая обрабатывает все выбранные записи файла.

Хотя я не уверен, сколько параметров (файлов) могло бы быть выбрано и разработано массово, эта процедура здесь помогает мне подсчитать все отдельные параметры больше 0 (которые являются моими выбранными, моими отмеченными файлами):

while (( $# > 0 )) # or [ $# -gt 0 ] do echo "$1" shift done

Вместо "эхо $ 1" я могу сказать

file = $1

а затем вызвать мою подпрограмму, где я работаю с $ file

Отдельное спасибо этому посту: Как обрабатывать более 10 параметров в оболочке

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