Linux Mint用Nemoのアプリケーション「接続プログラム」のリストからスペースを含むスクリプトを実行するには?

Linux Mint用Nemoのアプリケーション「接続プログラム」のリストからスペースを含むスクリプトを実行するには?

長い話を短く

Exec=gnome-terminal -- bash -c 'script="%u";if [[ -e "$script" ]] ; then "$script" ; else exec bash ; fi'GNOMEデスクトップファイルの行を使用してスクリプトを実行しますが、名前にスペースを含めないでください。どの名前でスクリプトを実行するには?

「私が望むもの」と私が試したことの完全な説明:

デフォルトでは、Nemo(NautilusベースのファイルマネージャAFAIK)のエディタでスクリプトを開きたいのですが、Nemoでこれらのファイルを開く別のオプションで端末で開いたままにすることもできます。

インターネットを検索して見つけましたhttps://askubuntu.com/questions/286621/how-do-i-run-executable-scripts-in-nautilus。新しいわけではありませんが、ファイルマネージャでオプションを「表示」に設定すると、「接続プログラム」で実行できるオプションがないため、別途端末を開き、スクリプト名を入力する必要があります。

開いて/usr/share/applications/org.gnome.Terminal.desktop実行してExec=gnome-terminal --windowみるhttps://askubuntu.com/questions/974756/how-can-i-open-a-extra-console-and-run-a-program-in-it-with-one-commandExec=gnome-terminal --window例 line に行を変更すると、Exec=gnome-terminal -- bash -c 'script="%u";if [[ -e "$script" ]] ; then "$script" ; else exec bash ; fi'名前にスペースが含まれていないスクリプトでは機能しますが、スペースを含むスクリプトでは期待されるスクリプト出力は生成されません。別れないかもしれませんが、より良いものが欲しいです。

%uたとえば、ここで意味を確認してください。https://specations.freedesktop.org/desktop-entry-spec/desktop-entry-spec-1.0.html

ベストアンサー1

これ無料デスクトップページあなたのリンクは明らかに言う

引用符付きパラメータ内ではフィールドコードを使用できません。引用されたパラメータ内では、フィールドコード拡張結果は定義されていません。

bashにパラメータとしてURLを渡しましょう。

gnome-terminal -- bash -c 'script="$1"; if [[ -e "$script" ]] ; then "$script" ; else exec bash ; fi' bash %u

おすすめ記事