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

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

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

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

1 ответ1

0

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

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

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

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

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

file = $1

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .