file1.inp
我正在 Ubuntu 命令行中使用两个文件 (和)运行 Abaqus 作业,file2.f
如下所示:
abaqus job=file1 user=file2.f
由于我经常使用不同的文件执行此操作,因此我想让它变得更容易:
myfunc file1 file2.f
其中myfunc
是一个bash
函数,它获取文件名并运行abaqus
command abaqus job=file1 user=file2.f
。
我感谢任何帮助解决这个问题的帮助。
答案1
myfunc () {
abaqus job="$1" user="$2"
}
此调用使用abacus
由给定函数的两个参数构造的参数进行调用。
通过一些错误检查(确保传递了正确数量的参数):
myfunc () {
if [ "$#" -ne 2 ]; then
printf '%s: Expecting 2 arguments, got %s\n' "${FUNCNAME[0]}" "$#" >&2
return 1
fi
abaqus job="$1" user="$2"
}
您甚至可以给您的函数命名abaqus
,但是您必须确保调用实际的 abacus
命令与
command abaqus job="$1" user="$2"
在函数内部,这样你就不会得到无限递归。