ac プログラムでシェル プログラムを作成しようとしています。基本的に、同じシェルコマンドが何度も繰り返されているが、一部が変更されているテキストファイルが必要です。1 から 750 までカウントし、その 1 桁を変更して段落を出力する C プログラムを作成しようとしましたが、シェル コマンドを読み取ろうとしてエラーが発生しました。シェル コマンドを無視して、printf の内容を出力するにはどうすればよいですか?
プログラムは次のとおりです。
#include <stdio.h>
int main ()
{
int x;
for(x=1;x<751;x++){
printf("#!/bin/sh");
printf("NRNHOME="/Applications/NEURON-7.3/nrn"");
printf("\NEURONHOME="${NRNHOME}/share/nrn"");
printf("CPU=i386");
printf("NRNBIN="${NRNHOME}/i386/bin/"");
printf("PATH="${NRNHOME}/i386/bin:${PATH}"");
printf("export NRNHOME");
printf("export NEURONHOME");
printf("export NRNBIN");
printf("export PATH");
printf("export CPU");
printf("nrncarbon=yes");
printf("export nrncarbon");
printf("cd "\${NRNHOME}/i386/bin"");
printf("./nrngui.sh "/Applications/NSD2013/s%d.hoc"\n\n",x);
}
}
すべてのディレクトリが宣言されておらず、 $? の前に ) が必要であることがわかります。私が望むのは、s1.hoc で始まり s750.hoc で終わる最後の行で、.hoc ファイルを変更するコマンドを出力することだけです。
アドバイスをいただきありがとうございます。