Я обычно делаю что-то вроде этого
#!/bin/bash
read -r -d '' IDL_SCRIPT <<EOF
.comp /a_different_directory/idl_dummy.pro
ans = idl_dummy(123456)
; print, ans ;?
EOF
# Print the script out for debugging
echo "${IDL_SCRIPT}"
idl <<< "${IDL_SCRIPT}"
или
idl <<< \
"!path = EXPAND_PATH('/a_different_directory/:' + !path) & \
idl_dummy, 123456"
Возможно, вам придется поиграться с !path
, чтобы автоматически скомпилировать нужный вам код.Я бы также рекомендовал назвать процедуру так, чтобы вам не приходилось вручную компилировать с .comp
(как я и предлагал в ответе).