- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我想使用 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/
有没有办法收集 bsub 启动的作业的退出代码? 例如:有一个由 bsub 启动的脚本 test.sh(test.sh 包含一些依次启动的二进制文件)。 std::string cmdLine = "
我正在尝试使用 bsub 将命令提交给 LSF 调度程序,但该命令包含一个必须用引号引起来并包含分号的参数值。 这是一个简单的命令来说明我的问题 bsub -o t.o -e t.e echo "fo
我正在寻找一些一般性建议,而不是编码解决方案。基本上,当通过 bsub 提交作业时,我可以通过指定以下任何一项来检索 Stdin/Stdout 的日志: bsub -o log.txt %
我正在使用以下 bash 文件将 matlab 作业提交到集群, #!/bin/bash #BSUB -L /bin/bash #BSUB -J matlab.01 #BSUB -q long #BS
我有一个由 cron 调用的脚本来运行 LSF 作业。 我想知道该作业何时提交以及何时完成。 The-Powers-That-Be 已决定禁用电子邮件通知。所以我正在编写这个脚本来将相关信息输出到日志
我有以下 shell 脚本。 #!/bin/bash --login #BSUB -q q_ab_mpc_work #BSUB -J psipred #BSUB -W 01:00 #BSUB -n 6
我正在配备 LSF 作业系统的集群上提交作业。 我不喜欢写工作脚本。我更喜欢一行bsub,比如 bsub -n 24 mpirun -n 24 ./a.out 运行良好。但我想要实时屏幕输出。 所以我
如果指定了超过 1 个主机,ClearCase 不能与 LSF 分布式多主机并行作业一起工作。 原因:ClearCase在调度多主机模拟到LSF系统时没有在所有主机上挂载文件系统 作业被终止,因为找不
当使用 bsub 提交命令时,它将使用 res 命令启动一个进程。res 反过来将作为另一个进程启动实际命令 我想知道这个实际命令的 pid 比方说,我已经提交了这个命令。通过bhist -l job
我想使用 Bourne shell 背景符号作为一个 bsub 执行命令的一部分。 请注意,我不想使用 .bash 文件,而是使用一个 bsub 命令行来执行整个过程。 请注意,我也不想将我的 bsu
我想使用 bsub 模块中的 python 函数 bsub 从 python 提交作业。 bsub("test_job", 'test.sh', verbose=True)() 对我有用。但是如果我想
我在 Tcl 中创建了自己的事件循环,如下所示。当我使用 tclsh 交互运行以下代码时,CPU 利用率接近 0%,而当我使用 bsub 运行相同的运行时,CPU 利用率飙升至 100%。 我什至尝试
基本问题:我想向 LSF 管理的 Linux 集群提交 N + 1 个作业,使得 (N + 1)-st“总结”作业只有在前面的所有 N 作业完成后才会运行。 额外:如果可能,如果我可以安排事情以便(N
我是一名优秀的程序员,十分优秀!