このコマンドをターミナルでのみ実行でき、スタートアップコマンドや[コマンドの実行GUI]ボックスでは実行できないのはなぜですか?

gaazkam
$(run-parts --list --reverse --regex '^KeePassXC-[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]-x86_64\.AppImage' bin | head -n 1)

(上記のコマンドの目的は、にある最新バージョンのKeePassXC~/binを実行することです。KeePassをアップグレードする必要があるたびにスタートアップエントリを変更する必要はありません)

上記のコマンドは、ターミナルから実行すると機能するようですただし、Alt+を押しF2てGUIの[コマンドの実行]ボックスを表示すると、エラーが発生します。

Failed to execute child process "$(run-parts" (No such file or directory)

さらに重要なことに、スタートアップアプリケーションにこのコマンドを入力しようとすると、同様の問題が発生します。

Could not execute '$(run-parts --list --reverse --regex '^KeePassXC-[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]-x86_64\.AppImage' bin | head -n 1)'
Failed to execute child process "$(run-parts" (No such file or directory)

おそらく私の間違いは、スタートアップアプリケーション/コマンドGUIボックスの実行では/なくからコマンドを実行することだと思いました~そのため、コマンドを「修正」しました。つまり、コマンドを削除binして置き換えましたが、/home/m/binこれは役に立ちませんでした。

ターミナル以外の場所からこのコマンドを実行できないのはなぜですか?

クサラナンダ

エラーメッセージ:

Could not execute '$(run-parts --list --reverse --regex '^KeePassXC-[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]-x86_64\.AppImage' bin | head -n 1)'
Failed to execute child process "$(run-parts" (No such file or directory)

これは、コマンドを入力しているボックスがシェルではなく、代わりにリテラルコマンドを実行しようとしていることを示しています。シェルは、コマンドを解析されたコマンド置換を拡大し、とのパイプラインを実行しているだろうrun-partsheadなど

ボックスはシェルではなく、コマンドは単純なコマンド(コマンド、場合によってはオプション付き)ではないため、シェルを使用して元のコマンドを呼び出す必要がありますコマンドを使用してGUIボックスからそれを行うことができます

sh -c 'your command'

ここyour commandで、最初に実行しようとしたコマンドはどこですか(一重引用符で囲まれた引数にsh -cは他の一重引用符を含めることができないため、一重引用符は二重引用符に置き換えられます)。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ