Pasar parámetros a una función BASH

Pasar parámetros a una función BASH

Estoy intentando ejecutar FoxitReader desde la línea de comando.

Para abrirlo, creé esta función:

foxit(){
    /home/quora/opt/foxitsoftware/foxitreader/FoxitReader.sh 
    }
export -f foxit

Y ponlo .bashrc. Esto no tomaría nombres de archivos como argumentos. Entonces, foxit mypdf.pdfabriría Foxit, pero no el archivo.

foxit(){
    /home/quora/opt/foxitsoftware/foxitreader/FoxitReader.sh "$@"
    }
export -f foxit

Por otro lado, esta función abriría los archivos, pero no podría guardar los cambios (que es el objetivo de FoxitReader, este programa puede guardar los aspectos destacados en archivos PDF).

¿Cómo puedo configurar todo para foxit mypdf.pdf mypdf2.pdfabrir una serie de archivos pdf como si hubiera hecho clic en ellos?

Nota: cuando selecciono dos o más archivos pdf a través de Nautilus y presiono Intro, Foxit puede abrirlos, cambiarlos y guardarlos.

FoxitReader.sh:

#!/bin/sh
 appname="FoxitReader"

 selfpath="/home/d4/opt/foxitsoftware/foxitreader"
 exec "$selfpath/$appname" "$@"

Respuesta1

Mirando a lamanual de foxitreader, no parece permitir abrir varios archivos desde la línea de comando de la forma en que intenta hacerlo.

Si foxitreaderes su controlador predeterminado para pdf, entonces esto debería funcionar

#!/bin/bash
for var in "$@"
do
    xdg-open "$var"
done

y si no es el predeterminado, intente

#!/bin/bash
for var in "$@"
do
    FoxitReader "$var" &
done

No lo tengo foxitreaderinstalado para probar pero funciona bienmasterpdfeditor4

información relacionada