web-dev-qa-db-ja.com

KDEサービスメニューは選択したファイルのリストを取得します

私はGnomeユーザーで、KDE ​​5を試しています。Nautilus(Gnome)を使用していたとき、変数$NAUTILUS_SCRIPT_SELECTED_FILE_PATHSで指定されたファイルパスのリストを処理するシェルスクリプトアクションがたくさんありました。

この回答を読む 、Dolphinアクションがコード%F: A list of files. Use for apps that can open several local files at once. Each file is passed as a separate argument to the executable programを提供することを知っています。

問題は、各ファイルが実行可能プログラムに個別の引数として渡されることです、私のスクリプト変数$ NAUTILUS_SCRIPT_SELECTED_FILE_PATHSを使用するように設計されています。

理想的には、古いスクリプトを再利用したいと思います。 Dolphinの%Fリストを変換して、スクリプトの変数$NAUTILUS_SCRIPT_SELECTED_FILE_PATHSとして設定することはできますか?

3
Davide_sd

Bashで$@を使用すると、スクリプトに渡されるすべての引数にアクセスできます。つまり、技術的には、最初に次のような偽の環境変数を準備するラッパースクリプトを作成できます。

 export NAUTILUS_SCRIPT_SELECTED_FILE_PATHS=$@
 ./real-script.sh

もちろん、元のnautilus変数の代わりに必要に応じて、次のように$@を使用するようにスクリプトを変更することもできます。

for var in "$@"
do
    echo "x" "$var"
done

また、ServiceMenusの.desktopファイルで、次のようなことを行います。

Exec=script %F

%Fは引用符で囲まれていないことに注意してください。

3
Kristopher Ives