BASH関数にパラメータを渡す

BASH関数にパラメータを渡す

コマンドラインから FoxitReader を実行しようとしています。

これを開くために、次の関数を作成しました:

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

そしてそれを に入れます.bashrc。これはファイル名を引数として受け取りません。したがって、foxit mypdf.pdffoxit は開きますが、ファイルは開きません。

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

一方、この機能はファイルを開きますが、変更を保存することはできません (これが FoxitReader の重要な点です。このプログラムはハイライトを PDF に保存できます)。

foxit mypdf.pdf mypdf2.pdf一連の PDF ファイルをクリックしたかのように開くように設定するにはどうすればよいですか?

注: Nautilus で 2 つ以上の PDF ファイルを選択し、Enter キーを押すと、Foxit はそれらのファイルを開いて変更し、変更を保存できるようになります。

FoxitReader.sh:

#!/bin/sh
 appname="FoxitReader"

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

答え1

を見てFoxitReader マニュアルただし、あなたがしようとしている方法では、コマンドラインから複数のファイルを開くことはできないようです。

foxitreaderpdfのデフォルトハンドラであれば、これで動作するはずです

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

デフォルトでない場合は、

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

foxitreaderテスト用にインストールしていませんが、問題なく動作しますmasterpdfeditor4

関連情報