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文件。 –