Bash shell脚本中的多行IDL命令
我想知道如何从shell脚本调用多行IDL命令。例如,要调用单行命令idl_dummy.pro,我可以执行以下操作: idl-e“idl_假人” 我有一组代码,在IDL中执行这些代码需要不止一行。在IDL中,我需要运行: .comp/a_不同目录/idl_file.pro ans=idl_虚拟(123456)Bash shell脚本中的多行IDL命令,bash,shell,command-line,command-line-interface,idl-programming-language,Bash,Shell,Command Line,Command Line Interface,Idl Programming Language,我想知道如何从shell脚本调用多行IDL命令。例如,要调用单行命令idl_dummy.pro,我可以执行以下操作: idl-e“idl_假人” 我有一组代码,在IDL中执行这些代码需要不止一行。在IDL中,我需要运行: .comp/a_不同目录/idl_file.pro ans=idl_虚拟(123456) 如何从shell脚本运行此代码?将两个命令放在扩展名为.pro的文件中,例如test\u batch.pro。这是一个批处理文件;它不能使用begin/end块,但不需要任何特殊语法 然后
如何从shell脚本运行此代码?将两个命令放在扩展名为
.pro
的文件中,例如test\u batch.pro
。这是一个批处理文件;它不能使用begin
/end
块,但不需要任何特殊语法
然后调用IDL,如:
$ idl path/to/test_batch.pro
我通常做这样的事情
#!/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}"
#/bin/bash
read-r-d“”IDL_脚本感谢您的回复!如果可能的话,我希望避免这样的包装脚本,但如果这是最好的方法,我想我别无选择!您可能想要@CharlesDuffy是的,有时这是需要的(例如,脚本位于GNU并行调用的函数中),但感谢您指出这一点。谢谢@sappjw!这正是我想要的。
idl <<< \
"!path = EXPAND_PATH('/a_different_directory/:' + !path) & \
idl_dummy, 123456"