2017-01-06 22 views
0

引数としてファイル名を取得するシェルスクリプトを実行しようとしています。ファイル名をNautilusからシェルスクリプトに渡す

端末に移動して完全なPATHを入力するとできます。

しかし私はこれをもっと使いやすくしようとしています。そのため、ファイルマネージャまたはノーチラスから引数(完全なパス)を送信することです。

それは可能ですか?

+0

はい可能です。 – kaylum

+0

@kaylum私は暗黙の「方法」があると思う。 – Barmar

+0

@ kaylum ...どうすればいいですか?ファイルマネージャに移動して、ファイルのパスを引数として取得するよりもスクリプトを開始するようなものです。 – Agustin

答えて

0

私は働く私が見つけた方法を共有するつもりです[OK]をクリックします。

私がしようとしていたのは、パスをコマンドラインで入力せずに引数として渡すことでした。ユーザーフレンドリーにする

私はzenityツール、ファイル選択を使用してファイルマネージャをブラウズし、ファイルを選択します。

./script.sh $(zenity --file-selection) 

ここで、選択したファイルのパスを渡しています。

これを試してみたい場合は、コマンドラインで入力してください。

zenity --file-selection 
1

可能です。

スクリプトを~/.local/share/nautilus/scripts/というフォルダにコピーします。このパスは、/home/john/.local/share/nautilus/scripts/などの現在のユーザー情報を含むように展開されますのでご注意ください。

スクリプトで、$1を使用して引数を取得します。たとえば、その後、あなたのスクリプトは、このようなことができ、のは、スクリプトがファイルを削除するように意図されていることを言わせて:

#!/bin/bash 
rm -f "$1" 
exit 

Nautilusを再起動して、あなたは上のアクションを実行したいファイルに移動します。ファイルを右クリックし、表示されるメニューで「スクリプト」を選択し、表示されたメニューでスクリプト名を選択します。スクリプト名はファイル名を引数として実行します。

注:たとえば、最初のスクリプトを実行可能にすることを忘れないでください:

+0

こんにちは、ありがとうございました。 私は今それを試してみるつもりです。 私はまたそれを行う別の方法を見つけました。 ノーティラスからスクリプトを実行するのは正確ではありませんが、それは私のために働きます。 私は誰かがこれを役に立つかもしれないと分かち合っています。 スクリプトを実行するときは、zenityファイル選択ツールを使用してください。 私の例では./script.sh $(zenity --file-selection) これにより、ファイルをブラウズしたり、ファイルを選択したりすることができます。パスは引数としてスクリプトに渡されます。 もう一度皆さんに助けと幸運のみんなに感謝します。 – Agustin

+0

ようこそ。答えがスタックオーバーフローのお手伝いをしたときに、その答えをアップ投票することを検討して、それが良い答えであることを他人に伝えるようにしてください。別のこと:あなたのスクリプトにroot権限が必要な場合は、起動時に 'gksudo'を使うことでそれを達成することができます。 –

+0

ああ私はUpvotedした、それはちょうど私がここに新しいので、私は投票が公に表示される前に評判をする必要があると言います。しかしそれは数え切れません。 – Agustin

関連する問題