SSブログ

gambas2: 外部コマンドの出力を利用する [Gambas]

引数で渡されたファイルのうちインストールできないものを除外
するために、インストール先の Arch (i386 や ppc、x86_64 とか)
を判別する必要がある。

いくつか候補を考えた結果、今回は rpm --eval %{_arch} の出力
を利用することにした。

で、gambas2 でコマンドの出力を変数に格納するには
次のようにする。
PUBLIC SUB _new()

   DIM sRes1, sRes2 AS String
   
   EXEC ["rpm", "--eval", "%{_arch}"] TO sRes1
   SHELL "rpm --eval %{_arch}" TO sRes2

END

こうするとコマンドの終了を待って、標準出力が文字列の
sRes1 & sRes2 に格納される。

ただしこのまま使おうとすると改行コードが含まれてしまうので、

Screenshot-test - Gambas 2.png

今回は Split を使って切り出すことにした。
sRes1 = Split(sRes1, "\n")[0]

ちなみに EXEC と SHELL の違いはコマンドの実行にシェルを
利用するかどうかなので、例えばコマンドの実行時に環境変数
を指定したいような場合は SHELL を使う必要がある。

タグ:Gambas メモ
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。