$(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-parts
とhead
など
ボックスはシェルではなく、コマンドは単純なコマンド(コマンド、場合によってはオプション付き)ではないため、シェルを使用して元のコマンドを呼び出す必要があります。コマンドを使用してGUIボックスからそれを行うことができます
sh -c 'your command'
ここyour command
で、最初に実行しようとしたコマンドはどこですか(一重引用符で囲まれた引数にsh -c
は他の一重引用符を含めることができないため、一重引用符は二重引用符に置き換えられます)。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加