LinuxでIDLをコマンドラインから動かす

idlがインストールされているディレクトリにidl_setup.bashというのがあるので、bashを使っている場合はそれを読み込む。zshの人はそれを読み込んでもおそらく動くが、気持ち悪ければ適当にコピーする。


今回はライブラリとしてGitHub - wlandsman/IDLAstro: Astronomy related procedures in the commercial IDL languageCoyote IDL Program Librariesをインストールしておく。それぞれ${HOME}/local/idl 以下に置く。

test.shを以下のように用意する。

#!/bin/sh

LM_LICENSE_FILE=port@host
export LM_LICENSE_FILE

IDL_PATH=/usr/local/exelis/idl/lib:${HOME}/local/idl/IDLAstro/pro:${HOME}/local/idl/coyote
export IDL_PATH

idl -quiet test_compile.pro
idl -quiet -e "restore, 'test.sav' & test"

test_compile.proは以下のように用意する。

.compile test_lib.pro
.compile test.pro

save,/ROUTINES,'test','test_lib',FILENAME='test.sav'

exit

test_lib.proは

pro test_lib,xxx,...,zzz

...

return
end

みたいなやつである。

test.proは以下のような感じである。

pro test

...

test_lib,xxx,...,zzz

...

end

なお、IDLメモ 基本操作を大いに参考にした。特に、「IDLで実行可能なプログラムの種類」についての情報が役立った。