私はこのスクリプト bash を作成しました。これは、異なる番号を持つ特定の行 (つまり、「9.0E-8」...) を含むファイルを書き込む必要があるため、for サイクルの後に「9.0E-」を含む最後のファイルが必要です。 11」は「9.0E-7」を尊重。
#!/bin/sh
touch IC_masslessPlanetesimal.java
for n in "9.0E-8" "9.0E-8" "9.0E-9" "9.0E-10" "9.0E-11"
do
sed -i "21s/9\.0E-7/$n/" IC_masslessPlanetesimal.java
javac IC_masslessPlanetesimal.java
java IC_masslessPlanetesimal
done
ここで、スクリプトは file.java を再編集、コンパイル、実行する必要があり、コードはエラーなしで実行されます。問題は次のとおりです。file.java の 21 行目 (scrpt を変更する必要がある番号があります) を調べると、scrpt は最初の for-cycle のみを編集します。 1 つ ("9.0E-9" など...) スクリプトは最後の 1 つを見つけることができません!
最初のステップ) 9e-7 -> 9e-8: スクリプトは 9e-7 を見つけ、n=9e-8 に置き換えます 2 番目のステップ) 9e-8 -> 9e-9: スクリプトは 9e-8 文字列を見つけられず、変更できません!!!
したがって、この変更を組み込むために for オプションを書き直す必要があります。
推測してください。:(