
私は KDE Plasma 5 デスクトップ環境で Dolphin を使用しています。ここでは、Dolphin からファイルをドラッグしてアイコン付きの ".desktop" 定義スクリプトにドロップすると、たとえば次のように実行される、正確に 1 つのファイルを処理できる bash スクリプトを作成しました/home/user/scripts/list_all_drags.sh %f
。
これは、1 つのファイルで機能します。次に、Dolphin から選択した複数のファイルをスクリプトにドラッグし、スクリプトで各ファイル エントリの手順を詳しく説明したいと思います。1 つのファイルではなく%F
複数のファイルに対して使用しましたが、これは機能しません。%f
何が起こるかというと、ファイル エントリごとに 1 つずつ、複数のターミナル ウィンドウが開かれます。必要なのは、ドロップされたファイル エントリごとに、複数のターミナル ウィンドウを開かずに最初の 1 つのターミナル ウィンドウだけを 1 つのスクリプトで実行するコードです。つまり、キーを押さずに、ドロップされたファイルでコマンドを開始または実行する「ループ」です。
%F
スクリプト内のパラメータ値をどのように処理すればよいかわかりません。
答え1
特に、%F を使用して複数のパラメータを処理する方法など、正しい答えを見つけたと思います。
まず、ファイルマネージャでエントリ (ファイル) を選択します。次に、マークされたすべてのファイルをスクリプト アイコンにドラッグし、そのアイコンにドロップします。「/home/user/scripts/myscript.sh %F」で実行されるこのスクリプト内には、選択されたすべてのファイル エントリを詳細化するルーチンがあります。
どのくらい多くのパラメータ (ファイル) を一括選択して詳細化できるかはわかりませんが、このルーチンを使用すると、0 より大きいすべての単一パラメータ (選択したマークされたファイル) をカウントできます。
while (( $# > 0 )) # or [ $# -gt 0 ] do echo "$1" shift done
「echo $1」の代わりにこう言うことができます
file = $1
そして$fileを操作するサブルーチンを呼び出します
この投稿に特別な感謝を申し上げます: シェルで10を超えるパラメータを処理する方法