0
linuxのforループに引用符( '')が必要です。 forループLinuxのBash forループ引用符( '')
ザ・は次のようになります。
i=1
for factor in 5 10 15 20 25 30 40 50 75 100; do
./libFM -task r -train train.txt.libfm -test test.txt.libfm -dim '1,1,$factor' -method sgd -learn_rate 0.001 -init_stdev 0.1 -iter 1000 -out ((i++))_factor_SGD.txt
done
これは(最初の2つのループ用)次のような出力できます:
./libFM -task r -train train.txt.libfm -test test.txt.libfm -dim 1,1,$factor -method sgd -learn_rate 0.001 -init_stdev 0.1 -iter 1000 -out 1_factor_SGD.txt
./libFM -task r -train train.txt.libfm -test test.txt.libfm -dim 1,1,$factor -method sgd -learn_rate 0.001 -init_stdev 0.1 -iter 1000 -out 2_factor_SGD.txt
をしかし、私は(このように見える出力を必要とします最初の2つのループ):
./libFM -task r -train train.txt.libfm -test test.txt.libfm -dim '1,1,5' -method sgd -learn_rate 0.001 -init_stdev 0.1 -iter 1000 -out 1_factor_SGD.txt
./libFM -task r -train train.txt.libfm -test test.txt.libfm -dim '1,1,10' -method sgd -learn_rate 0.001 -init_stdev 0.1 -iter 1000 -out 2_factor_SGD.txt
などです。
どうすればよいですか?出力内に一重引用符( '')を付けることができません。
二重引用符を使用の代わりに、単一の。単一引用符の内部変数は展開されません –