linux下shell指令碼中sed命令使用變數

2021-08-17 08:17:47 字數 835 閱讀 7596

用linpack做測試,寫了乙個指令碼, 因為每次可修改的引數寫在了配置檔案裡,所以指令碼裡用sed命令來修改配置檔案

#測試次數

echo 「input number of tests:」

read numt

#每次測試的資料規模,測試次數有多少次,這裡應該又多少組數字,中間以空格隔開

echo 「input number of equations to solve (problem size):」

read nume

#陣列的主要維度,與資料規模數量相同

echo 「input leading dimension of array:」

read ld

#執行試驗次數,即單次測試執行次數

echo 「input number of trials to run:」

read numtr

#資料對齊值,單位是kb

echo 「input data alignment value (in kbytes):」

read da

這裡就錄入了四項引數,但是修改配置檔案的sed命令居然不能正確修改配置檔案,後來查了好多資料才知道,sed命令在使用變數的時候,和一般寫法是不一樣的,沒有變數的時候寫法是這樣的:

sed -i '2cintel(r) optimized linpack benchmark data' testshellfile

使用變數的時候是這樣的:

sed -i "4c$nume" testshellfile

單引號變成雙引號,關於網上說的$前面需要加/來進行轉義,我這裡也沒有遇到,不加就已經可以了,加了反而會直接列印出來,也許是我還沒遇到需要轉義的地方

Linux下Shell指令碼

shell 指令碼 shell script 是一種為 shell 編寫的指令碼程式。從業界所說的 shell 通常都是指 shell 指令碼,但讀者朋友要知道,shell 和 shell script 是兩個不同的概念。由於習慣的原因,簡潔起見,本文出現的 shell程式設計 都是指 shell ...

Linux下shell指令碼程式設計

shell程式設計小練習 在linux作業系統中,如果插入乙個usb裝置,需要用mount掛載命令才能實現這個裝置的載入,下面寫乙個usb裝置掛載與檔案複製的shell程式,程式需求 1 執行時,提示使用者輸入 y 或者 y 確定是否掛載usb裝置,u盤檔案 dev sdc1 if ans y o ...

Linux下執行Shell指令碼

linux下可以用兩種方式執行shell指令碼 1 用shell程式執行指令碼 根據你的shell指令碼的型別,選擇shell程式,常用的有sh,bash,tcsh等。一般來說,第一行 bin bash裡面指明了shell型別的,比如 bin bash指明是bash,bin sh則是sh 然後輸入命...