Передача параметров функции BASH

Пытаюсь запустить FoxitReader из командной строки.

Для его открытия я создал эту функцию:

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

И поместил ее в .bashrc. Это не будет принимать имена файлов в качестве аргументов. Итак, foxit mypdf.pdf откроет foxit, но не файл.

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

С другой стороны, эта функция откроет файл(ы), но не сможет сохранить в нем изменения (в этом весь смысл FoxitReader, эта программа может сохранять выделенные фрагменты в pdf-файлы).

Как мне настроить все так, чтобы foxit mypdf.pdf mypdf2.pdf открывал ряд файлов PDF, как если бы я щелкнул по ним?

Примечание: когда я выбираю два или более pdf-файла через Nautilus и нажимаю клавишу ввода, Foxit может открывать, изменять и сохранять в них изменения.

FoxitReader.sh:

#!/bin/sh
 appname="FoxitReader"

 selfpath="/home/d4/opt/foxitsoftware/foxitreader"
 exec "$selfpath/$appname" "$@"
0
28.05.2019, 22:21
1 ответ

Глядя на руководство FoxitReader , кажется, что оно не позволяет открывать несколько файлов из командной строки так, как вы пытаетесь это сделать.

Если foxitreaderявляется вашим обработчиком по умолчанию для pdf, это должно работать

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

и если это не значение по умолчанию, попробуйте

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

У меня не установлен foxitreaderдля тестирования, но он отлично работает сmasterpdfeditor4

1
28.01.2020, 02:40

Теги

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