web-dev-qa-db-ja.com

BashスクリプトでJavaプログラムを実行し、1つの引数を与える方法は?

ABCで開く」という項目をコンテキストメニューに追加します。このコンテキストメニューは、フォルダを右クリックすると表示されます。

ABCで開く」を選択すると、Javaプログラム、「abc.class "。

そのJavaプログラムには、選択された「ディレクトリパス」が必要ですargumentとしてフォルダー。

私のBashスクリプトはどのようになりますか?

必要な情報:

  • Javausr/bin/Java
  • abc Java programhome/john/myapp/abc.class
  • スクリプトはhome/john/.config/caja/scripts内に配置されます
  • johnLinux Mint MATE 17.2の私のユーザー名で、cajaファイルマネージャとして

以下の質問は私の問題に近いかもしれません:

2
mshahrim

私のBashスクリプトは次のようになります。

#!/bin/bash
Java -cp "$HOME/myapp" abc $CAJA_SCRIPT_SELECTED_FILE_PATHS

説明:

私のプログラムはここに置かれたので:

/home/john/myapp/abc.class

  • 私は常に-cp Javaオプションを使用して「abc」プログラムを最初に見つける必要があります。
  • $ HOMEは私のホームディレクトリ/home/johnを表します。
  • $CAJA_SCRIPT_SELECTED_FILE_PATHS環境変数は選択したフォルダーのパスを表し、最終的には "abc"プログラムの引数として渡されます。

これらのソリューションはcaja特定の環境で作成されていることに注意してください-他の場所で動作する保証はありません。

@ pranavへのクレジット、ありがとう。

0
mshahrim

ABCで開くをコンテキストメニューに追加するCaja-actions設定ツールがあります。

Caja Actionツールにはコマンドタブがあり、スクリプトパスとディレクトリ引数を指定できます。これはツールの画像ですhttp://poundbangbinbash.com/LinuxMint/MATE/Caja/CajaActions/ConfigurationTool.png

あなたのスクリプトは次のようになります

!/bin/bash
usr/bin/Java [options] home/john/myapp/abc.class $*
0
pranav