0
我試圖寫一個bash腳本運行幾個情況下,操作步驟如下編輯在同一文件中的一行:bash腳本來連接字符串,並使用bash腳本
- 讀
.txt
文件在陣列 - 串聯陣列中的每個元素與特定的字符串
- 開口幾個屏幕中分離的模式,然後改變特定文件 (在這種情況下
seq.txt
)並運行一些命令
的代碼如下:
COUNTER=0
readarray t1Gad < t1_gad.txt
while [ $COUNTER -lt 5 ]; do
NUM_DEVICE=8
DEVICE_NO=`expr $COUNTER % $NUM_DEVICE`
string1='objGa_'
string2=${t1Gad[$COUNTER]}
#string2='hello'
string=$string1$string2
echo $string2
echo $string1
echo $string
screen -d -m -S "$COUNTER" bash -c 'cd $HOME/Downloads && sed -i '2s/.*/$string/' seq.txt && cat seq.txt; exec sh'
let COUNTER=COUNTER+1
done
有趣的是,如果我有一個固定的字符串替換string2
,它工作正常,但它不與數組的數組元素的工作。
如果有人向我解釋,我會很高興。我對bash腳本非常陌生,但非常想學習這個非常有用但又醜陋的腳本語言。
我發現問題,但我不知道如何解決它。在進行字符串連接時,比如說
string1="objGa_"
string="$string1${t1Gad[$COUNTER]}"
(說192是特定的元素),並在這種情況下它是代
objGa_192 ' '
在屏幕的內部。我不知道如何擺脫這個空間以及它來自哪裏。
t1_gad.txt:
100
200
300
400
500
seq.txt:
abc
objw
cde
efg
xyz
沒有......沒有解決方案正在.... .txt文件就像是沒有空間將aColumn在每一列之間...我看到某處2s代表編輯第二行...在sed –
你可以在你的問題中包含't1_gad.txt'和'seq.txt'嗎? –
我在問題中添加了.txt文件。 –