我可以访问计算集群(LSF),将内容发送到计算节点的基本方法是:
bsub -I <command>
我把它放在一个文件中:
bsub -I ../configure --prefix="..." \
--solver=...\
--with-cflags=...\
&& make -j8 \
&& make install
但是我只是注意到实际上只有第一个命令(configure)在群集上运行,其余两个在本地运行。什么是将整个命令分组并将其传递给bsub的最佳方法?
答案 0 :(得分:2)
假设您所指的bsub
是记录的here,您有两种选择:
使用单引号执行整个命令(假设您不在命令中的任何位置使用单引号):
bsub -I '../configure --prefix="..."\
--solver=...\
--with-cflags=...\
&& make -j8 \
&& make install'
使用HERE文档将命令输入bsub的标准输入,以避免引用问题:
bsub -I <<END
../configure --prefix="..." \
--solver=...\
--with-cflags=...\
&& make -j8 \
&& make install
END
或者,与第二个非常类似,将命令放入文件并提供文件作为输入。
答案 1 :(得分:0)
bsub -I sh -c '../configure --prefix="..." \
--solver=...\
--with-cflags=...\
&& make -j8 \
&& make install'