
file1.inp
次の2つのファイルを使用してUbuntuコマンドラインでAbaqusジョブを実行していますfile2.f
。
abaqus job=file1 user=file2.f
私はしばしば別のファイルでこれを行うので、より簡単にしたいと思います。
myfunc file1 file2.f
その中には、ファイル名を取得してコマンドを実行する関数がmyfunc
あります。bash
abaqus
abaqus job=file1 user=file2.f
この問題の解決にご協力いただきありがとうございます。
答え1
myfunc () {
abaqus job="$1" user="$2"
}
この呼び出しは、abacus
与えられた関数の2つの引数で構成される引数で行われます。
いくつかのエラーチェック(正しい数の引数が渡されたことを確認):
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"
関数の内部では無限再帰は発生しません。