我已經編寫了這個腳本bash,它必須寫一個具有不同特定行數的文件 數字(即:「9.0E-8 「...)所以我必須有最後一個文件,在for循環之後, 」9.0E-11「尊重」9.0E-7「。bash error sed:-e表達式#1,字符3:未知命令:`/'
#!/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循環,因爲當它試圖替換AGAIN時,string whit其他一個(「9.0E-9」等)腳本無法找到最後一個!步驟9e-7→9e-8:腳本找到9e-7並替換爲n = 9e-8 秒)步驟9e-8→9e-9:腳本不找到9e-8字符串,不能改變它!
所以我必須重寫包含此修改的選項。
有什麼猜想嗎? :(
它看起來謊言yopu're試圖改變21行文件IC_masslessPlanetesimal.java 5次循環,第一個9.0E-7 ,然後到9.0E-8等等。這絕對沒有意義,儘管如此,請告訴我們你想要做什麼以及一些示例輸入和預期輸出。 –
@ Ed Morton這是bash的第一部分,所以每次我改變我編譯的文件,運行它,讀一個程序並獲取一個輸出。 –
bash腳本被解釋,而不是編譯。重點在於,儘管我們無法理解您目前爲止所提供的描述中所做的工作,但發佈示例輸入和預期輸出是幫助我們理解您的目標所需完成的最低要求。 –