正确使用报价

  • 本文关键字: bash
  • 更新时间 :
  • 英文 :


我想用bash:

实现这一目标
for i in {1..2}
do
for j in {1..2}
do
echo $i $j >> tmp.txt
done
done
cat tmp.txt
1 1
1 2
2 1
2 2

但是,我想这样这样做,用回声变量内部引号:

cmd="
for i in {1..2};
do for j in {1..2};
do echo $i "$j" '$i' "'$j'" $i "'$j'" '$i' "$j" >> tmp.txt;
done;
done
"
eval $cmd

我似乎无法正确地得到报价。可以实现我想要的吗?

谢谢!

只需使用单引号,并确保将半隆放在每个done之前。

cmd='for i in {1..2}; do
for j in {1..2}; do
echo $i $j >> tmp.txt;
done;
done'
eval $cmd

相关内容

  • 没有找到相关文章

最新更新