
Estoy usando Dolphin en un entorno de escritorio KDE Plasma 5. Aquí escribí un script bash, que puede elaborar exactamente UN archivo, cuando arrastro un archivo desde Dolphin y lo suelto en un script definido ".desktop" con un ícono, que luego se ejecuta, por ejemplo /home/user/scripts/list_all_drags.sh %f
.
Esto funciona con ese archivo. Ahora me gustaría arrastrar varios archivos seleccionados de Dolphin al script y el script debería elaborar sus procedimientos para cada entrada de archivo. Esto no funciona, aunque lo usé %F
para varios archivos en lugar de %f
para un solo archivo.
Lo que sucede es que se abren varias ventanas de terminal, una para cada entrada de archivo. Lo que necesito es que el código se ejecute en UN script, para cada entrada de archivo eliminada, sin abrir varias ventanas de terminal, excepto la primera. Exactamente, el "bucle" para iniciar o ejecutar los comandos con los archivos soltados, sin necesidad de presionar más teclas.
No sé cómo manejar el %F
valor del parámetro en mi script.
Respuesta1
Creo que encontré la respuesta correcta, especialmente cómo manejar los múltiples parámetros con %F.
Primero selecciono mis entradas (archivos) en un administrador de archivos. En segundo lugar, arrastro todos estos archivos marcados al ícono de mi script y los suelto en ese ícono. Dentro de este script que se ejecuta con "/home/user/scripts/myscript.sh %F" hay una rutina que elabora todas las entradas del archivo seleccionado.
Aunque no estoy seguro de cuántos parámetros (archivos) podrían seleccionarse y elaborarse en masa en ese momento, esta rutina aquí me ayuda a contar todos los parámetros individuales mayores que 0 (que son mis archivos seleccionados y marcados):
while (( $# > 0 )) # or [ $# -gt 0 ] do echo "$1" shift done
En lugar de "echo $1" puedo decir
file = $1
y luego llamar a mi subrutina donde trabajo con $file
Un agradecimiento especial a esta publicación: Cómo manejar más de 10 parámetros en un shell