请问这行命令怎么用Linux shell写成批处理呢?
大家好,请教一个问题,首先看这行代码:/home/export/base/sduvec/FFT/openmpi-1.4.4/bin/mpirun-np32/home/ex...
大家好,请教一个问题,首先看这行代码:
/home/export/base/sduvec/FFT/openmpi-1.4.4/bin/mpirun -np 32 /home/export/base/sduvec/FFT/Actran_14.0/bin/actranpy_mp --apl=/home/export/base/sduvec/FFT/Actran_14.0/ --inputfile=/home/export/base/sduvec/jobs/test/input.edat --mem=1000 --parallel=frequency
现在想通过批处理封装成一个acoustics.sh文件,然后直接带参数执行。具体要求为:
(1)mpi -np 32中的32和--mem=1000中的1000需要输入,如./acoustics.sh -32 -1000
(2)--inputfile=...=input.edat 需要指定,用参数给程序一个输入文件的文件名,程序在当前目录寻找,如./acoustics.sh -32 -1000 -myfile.edat
多谢大家! 展开
/home/export/base/sduvec/FFT/openmpi-1.4.4/bin/mpirun -np 32 /home/export/base/sduvec/FFT/Actran_14.0/bin/actranpy_mp --apl=/home/export/base/sduvec/FFT/Actran_14.0/ --inputfile=/home/export/base/sduvec/jobs/test/input.edat --mem=1000 --parallel=frequency
现在想通过批处理封装成一个acoustics.sh文件,然后直接带参数执行。具体要求为:
(1)mpi -np 32中的32和--mem=1000中的1000需要输入,如./acoustics.sh -32 -1000
(2)--inputfile=...=input.edat 需要指定,用参数给程序一个输入文件的文件名,程序在当前目录寻找,如./acoustics.sh -32 -1000 -myfile.edat
多谢大家! 展开
3个回答
展开全部
#!/bin/bash
[ $# -ne 3 ] && echo "usage: acoustics.sh 32 1000 input.edat" && exit 1
if [ ! -s ./${3} ];then
echo "input data does not exist or size is zero"
exit 2
fi
/home/export/base/sduvec/FFT/openmpi-1.4.4/bin/mpirun -np ${1} \
/home/export/base/sduvec/FFT/Actran_14.0/bin/actranpy_mp \
--apl=/home/export/base/sduvec/FFT/Actran_14.0/ \
--inputfile=./${3} --mem=${2} \
--parallel=frequency
save the above code to acoustics.sh, that's it.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
脚本里面
你需要更改的部分可以用变量代替
比如
./test 1 2 3 4 5 6
这几个参数 在脚本里分别代表变量 $1 $2 $3 ...
比如脚本写的
cd $1
那么
你执行脚本 ./test /tmp
就等于cd /tmp
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接!usr/bash就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询