“写作”;到bash中的文件

“写作”;到bash中的文件,bash,Bash,只是我需要写作 "echo" t${count} = "$"t${count}" 到一个文本文件,包括所有 echo " t1 = $t1" “原来如此,我试过: count=1 saveIFS="$IFS" IFS=$'\n' array=($(<TEST.txt)) IFS="$saveIFS" for i in "${array[@]}" do echo "echo" t${count} = "$"t${count}"" (( count++ )) done >>

只是我需要写作

"echo" t${count} = "$"t${count}"
到一个文本文件,包括所有

echo "  t1  = $t1"
“原来如此,我试过:

count=1
saveIFS="$IFS"
IFS=$'\n'
array=($(<TEST.txt))
IFS="$saveIFS"
for i in "${array[@]}"
do
echo "echo" t${count} = "$"t${count}""
(( count++ ))
done >> long1.txt
但我猜“双精度包装”只适用于变量


想法?

变量实际上没有双引号,第一个引号开始,第二个引号结束带引号的字符串。但是,您可以根据需要连接字符串,因此
“$”t${count}”
实际上相当于
“$”t${count}
,以带引号的$符号开头,后跟“t”,后跟count变量


回到你的问题,要得到一个“,”,你可以把它放在一个文字字符串中(用单引号括起来),比如so
echo“my string”
,注意变量不是用文字字符串替换的。或者你可以将它转义,比如so
echo“my string\”
,它会在字符串中放一个文字,并且不会终止它。

您需要退出双引号(也是美元符号):


还有另一种引用变体(当然,更多的是练习而不是解决方案):

echo "echo" """"" t${count} = "$"t${count}""
echo "\" t = \$t\""
echo "echo \"t${count} = $t${count}\""
# concatenate alternating single- & double-quoted blocks of substrings
count=1
echo 'echo "t'"${count}"' = $t'"${count}"'"'