gpt4 book ai didi

linux - 在单个 bsub 命令中应用 Bourne shell 背景符号

转载 作者:太空狗 更新时间:2023-10-29 11:18:01 24 4
gpt4 key购买 nike

我想使用 Bourne shell 背景符号作为一个 bsub 执行命令的一部分。

请注意,我不想使用 .bash 文件,而是使用一个 bsub 命令行来执行整个过程。

请注意,我也不想将我的 bsub 内容拆分为几个相互等待的 bsub 命令,而是将一些内部 unix 命令包装到一个 bsub 命令行中,这些内部 unix 命令使用 Bourne shell 背景符号。

下面的尝试只产生了第一个内部命令(liftOver 命令)的输出,但 sort 和 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 但我可以给你一个 trick 我用 batch, ssh 和其他一些不同的 shell:

bsub -q medium -J $i <<<"liftOver $i mm10ToMm9.over.chain.gz ${i/.be/.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}"

如果 $i 必须由 开发,也许您必须将双引号 (") 更改为引号 (') bsub(同样,我不知道这个产品)

bsub -q medium -J $i <<-eocmd
liftOver $i mm10ToMm9.over.chain.gz ${i/.be/.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}
eocmd

(警告:在单词 eocmd 之前只能放置一个制表符 $'\t')

同样,如果 $i 必须由 bsub 开发,您可能必须转义 $ 符号。

为了解决 $TERM environment not set,我有时会使用:

bsub -q medium -J $i /bin/bash <<-eocmd
...
eocmd

希望这能完成这项工作。

关于linux - 在单个 bsub 命令中应用 Bourne shell 背景符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35570948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com