
シェルスクリプト初心者です。
現在、zenity --entryを使って入力した変数を別のシェルスクリプトに渡して、NASのmysqlに接続してその変数でデータを抽出し、抽出されたファイルをftpでローカルにダウンロードして閲覧するということはできています。
しかし、変数をもっと簡単に渡したいと思っています。例えばHTMLのテーブルである項目をクリックすると、その変数がPHPに送られて処理されるような感じです。最終的に起動させるのがjnlpファイルでありPHPではどうしても起動できないので、シェルスクリプトからそのようなことをしたいのですが可能でしょうか?
No.4ベストアンサー
- 回答日時:
補足事項、確認しました。
あらためて、 zentiy --list ではだめですか?
https://help.gnome.org/users/zenity/stable/list. …
ほとんどのシェルには、GUIはありません。
zenityのようは、他のコマンドの助けを借りることになります。
欲しい機能が無ければ、自作するしかないでしょう。
kmeeさん、度々有り難うございます。
書き忘れましたが実は zentiy --list はやってみました。手動ではもちろん動くのですが、mysqlの検索結果をlistにできるんでしょうか? あるいはレイアウトを自在に変更できるんでしょうか? そこがわかりませんでした。
で、zentiy --list では無理だろうと思いました。
そこで、今日の昼ごろからJavaを始めてみました。いろいろとネット検索してプログラムを作成して確認したところ、Java→シェルスクリプト→jnlpファイルは問題なく動きます。
そして私が「HTMLのテーブルのようなもの」というのは、JTableのイメージでした。(http://www.javadrive.jp/tutorial/jtable/index8.h …)
このページの一番下にあるフレームこそdatagridviewそっくりですよね。
さらに現在、JDBCの設定がやっと終わって、Javaからmysqlに接続できるようになりました。JDBC接続だけで3時間もかかってしまって、Javaは難しいです。
思い描いていたイメージに到達するためには、抽出結果をJTableに表示すること、その表のある行をクリックすると設定された変数をあるシェルスクリプトに投げて起動できれば完成です。
と言ってもここからどのくらいかかるのか見当もつきませんけどね。
もう少し、このイメージで頑張ってみます。ありがとうございました。
No.3
- 回答日時:
なにがやりたいのかが、今一つ伝わってこないのですが。
例えば
https://help.gnome.org/users/zenity/stable/index …
の --list とかは?
あとは、zenityのような感じに動作するプログラムを自作するか。
皆さんの回答から、私の書き方が適切でなかったと思います。
PHPからjnlpファイルを起動することは諦めているので、PHPを使うつもりはないです。
「HTMLのテーブルのようなもの」という書き方が悪かったようです。イメージで言うと例えばVBのdatagridviewのような感じでしょうか。
あるクエリで抽出したデータを一覧表にして、ある行をクリックすると別のシェルスクリプトに変数が送られて処理されるような感じです。
このようなことを実現するためにはPHP以外でどんな手段があるでしょうか?
No.2
- 回答日時:
なんかタイトルと本文が整合してない気がしますし、やりたいことが説明から読み解けないんですが。
。。シェルスクリプト内の変数に格納された値をPHPに渡したいということですか?
環境変数に入れてそれを読みだすか、あるいはPHPを実行する際の引数として渡して、PHPスクリプト側で$argvで受け取るとかすればどうでしょう?
締め切りになってしまって、ここにしか書き込めないのでここをお借りしてお礼申し上げます。
投稿から約1週間でやっとイメージ通りのことができました。
最初のイメージでは、
【Java】
1.Javaからmysqlに接続してクエリ結果を2次元配列に入れる。デフォルトのクエリは"WHERE StudyDate='$today'"
2.2次元配列をjtableで表示。
3.表示されたjtableのある行をクリックすると、その行のStudyInstanceがシェルスクリプトに送られてシェルスクリプト起動。
【シェルスクリプト】
4.そのStudyInstanceでmysqlからDicomのobjectファイルを配列で取得。
5.そのobjectファイルからフォルダ名を取得
6.objectファイル配列から純粋なDicomファイル名を抽出して配列へ。
7.DicomファイルをNASからローカルのTempフォルダにftpダウンロード。
8.hoge.shファイルを起動。
というようなことを考えていたのですが、Javaからシェルスクリプトに配列が送れないこと、文字列は送れるのですがその文字列でmysqlからデータを抽出できないことから、すべてJavaでやるしかないと覚悟して寝食を忘れて没頭した結果、何千回ものエラーを乗り越えてやっとできました。
15年ほど前にJavaに挑戦し3週間ほどで挫折して以来Javaを避けてきましたが、やってみると案外いけるかもしれないという気になりました。それも「おしえて」への投稿が覚悟につながったように思います。
ベストアンサーは2回回答して下さったkmeeさんにさせて頂きますが、すべての方にお礼を申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
コンポーネント`MSCOMM32.cox'...
-
OLE又はDDEを使うVISUAL BESIC...
-
JavaScriptでコマンドプ...
-
JAVA .jarファイルに再圧縮する...
-
VBS形式ファイル:ダブルクリッ...
-
jarファイルとjava.exeの関連付...
-
JSPファイルが単体で実行できま...
-
WScript.Echo と msgbox
-
VBAでUWSCが起動できない
-
c/c++ ビルドしたにもかかわら...
-
VBAでEXEファイルを動かす方法...
-
実行ファイルと実行モジュール...
-
VBフォームアプリケーションに...
-
c言語でファイルのタイムスタン...
-
コンパイル ./aと./a.out の違い
-
LINK : fatal error LNK1104に...
-
メモ帳でプログラムを作っても・・
-
eclipseで作ったプログラムを他...
-
VBからhtaファイルを開くには?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access クエリ実行が急に非常に...
-
OLE又はDDEを使うVISUAL BESIC...
-
c/c++ ビルドしたにもかかわら...
-
VBAで他のプログラムが起動して...
-
コマンドプロンプトで外のexeや...
-
VBAでEXEファイルを動かす方法...
-
コンポーネント`MSCOMM32.cox'...
-
JavaScriptでコマンドプ...
-
VC++から引数付きexeファイルの...
-
JAVA .jarファイルに再圧縮する...
-
jarの開き方を教えてください。
-
WScript.Echo と msgbox
-
実行ファイルと実行モジュール...
-
以下のように複数のファイルを...
-
ネットワーク越しのEXEファ...
-
JAVAでつくったプログラムはコ...
-
LINK : fatal error LNK1104に...
-
Winでコマンドプロンプトを出さ...
-
VBAでMP3を鳴らしたい
-
VB6で、C言語の(argv,argc)み...
おすすめ情報