Я хотел бы использовать фон амбунатора оболочки Bourne как часть команды выполнения ONE bsub.Применить в одной команде bsub фон оболочки Bourne ampersand
Обратите внимание, что я не хочу использовать .bash-файл, а одну командную строку bsub для выполнения всей процедуры.
Обратите внимание, что я также не хочу разделить содержимое моего bsub на несколько команд bsub, которые ждут друг друга, а скорее, чтобы обернуть в одну командную строку bsub несколько внутренних команд unix, которые ждут друг друга с помощью Фонтан скорлупы раковины.
Следующая попытка производила только вывод первой внутренней команды (команда liftOver), но ни сортировка, ни mv не выполнялись.
bsub -q medium -J $i "liftOver $i mm10ToMm9.over.chain.gz ${i/.bed/.mm9.bed} ${i/.bed/.unlifted_to_mm9.bed} & sort -k1,1 -k2,2n ${i/.bed/.mm9.bed} > ${i/.bed/.mm9.bed}.srt & mv ${i/.bed/.mm9.bed}.srt ${i/.bed/.mm9.bed}"
Вне bsub эта процедура может быть записана следующим образом:
liftOver $i mm10ToMm9.over.chain.gz ${i/.bed/.mm9.bed} ${i/.bed/.unlifted_to_mm9.bed} &
sort -k1,1 -k2,2n ${i/.bed/.mm9.bed} > ${i/.bed/.mm9.bed}.srt &
mv ${i/.bed/.mm9.bed}.srt ${i/.bed/.mm9.bed}
Вы можете отделить отдельные команды от ';', и если я правильно помню, 'bsub' также позволяет считывать команду из stdin, что означает, что вы можете прокладывать три строки. Однако, почему вы хотите выполнить три команды параллельно ???? Не имеет смысла запускать 'mv', прежде чем' sort' не будет закончен. – user1934428
ОК, я ошибаюсь. три команды были фактически разделены символом ";" внутри обрезания bsub, но хотя они были разделены символом ";" они начали работать параллельно, а я хочу, чтобы они подождали друг друга. Я не уверен, что могу всегда выполнять все мои команды (так как в некоторых случаях некоторые команды требуют генерации выходного файла). Я хочу избежать запуска mv перед сортировкой. – Roy
Вопрос: Что такое 'bsub'? В чем разница с командой cron 'batch'? –