If a procedure expects input on stdin, you can still drive it from a shell script or batch command by redirecting a prepared input file.
; intest.pro pro intest read, one read, two a = ' ' read, a read, realnum print, one, two, ' ', a, realnum end
; callintest.pro intest exit
idl callintest < input.dat
For shell-based automation that needs argument passing rather than stdin redirection, the PPPL workflow also used helper wrappers such as idlbatch.pl.
idlbatch.pl