Я не знаком с самим autosys, но вы можете запустить долгую -запущенную команду в фоновом режиме, как здесь:
#!/bin/ksh
nohup java DemoJavaProgram 1> output.file 2>&1 </dev/null &
Команда nohup
позволяет команде java
пережить сигналы отбоя. Затем ввод и вывод перенаправляются. Оператор &
в конце заставляет команду работать в фоновом режиме.
Обратите внимание, что здесь вы не сможете зависеть от кода статуса выхода. Если по какой-либо причине команда java
не запустится, она запишет сообщение об ошибке в выходной файл и завершит работу.
Вы могли бы сделать это с массивом, но команда cd
выглядит несколько сложной:
path=(
foo1
foo2
foo3
foo4
bar
)
cd "$(IFS=/; echo "${path[*]}")"
Литералы массивов допускают произвольные пробелы.
Вы можете разделить длинную команду на несколько строк, используя обратную косую черту, но вам нужно будет сохранить прямую -косую черту и опустить начальные пробелы:
cd foo1\
/foo2\
/foo3\
/foo4\
/bar
Обратная косая черта является маркером продолжения строки -; когда bash их видит, он включает следующую строку, как если бы она была продолжена с обратной косой черты текущей строки. В результате вы не могли использовать начальные пробелы в этих последующих строках, так как они становились пробелами в текущей строке, создавая ошибку «слишком много аргументов».