我已经编写了这个脚本 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 并且代码运行没有错误。现在的问题是:当我在第 21 行查看 file.java 时(有 scrpt 必须更改的数字),scrpt 仅编辑第一个 for 循环,因为当它尝试再次替换其他字符串时一个(“9.0E-9”等......)脚本找不到最后一个!
第一个步骤)9e-7 -> 9e-8:脚本找到 9e-7 并替换为 n=9e-8 第二个步骤)9e-8 -> 9e-9:脚本找不到 9e-8 字符串和改不了!!!
所以我必须重写 for 选项来合并这个修改。
请问有什么猜的吗?:(