我尝试循环一个文本文件,更改数字,并将孔字符串存储到shell变量中,以便稍后打印它
我尝试过使用">>“回显字符串和整数(循环中的数字)。
#!/bin/bash
a=0
while [ "$a" -lt 4 ]
do
echo '<div name="block-'${a}'">' >> $sub_main
((a++))
done
echo "done"
echo $sub_main脚本的输出应为:
<div name="block-0">
<div name="block-1">
<div name="block-2">
<div name="block-3">发布于 2019-01-11 09:30:48
>>将输出追加到一个文件中。如果你想追加一个变量,你可以在右值的开头使用一个赋值来追加这个变量。
a=0;
sub_main="";
while [ "${a}" -lt 4 ]; do
sub_main="${sub_main}\n<div name=\"block-${a}\">";
((a++));
done;
echo "done";
echo "${sub_main}";或者,如果附加到文件的目的是,您可以简单地使用cat而不是echo来输出文件的内容。
即替换
echo $sub_main通过以下方式:
cat "${sub_main}";发布于 2019-01-11 11:47:40
使用命令替换将输出捕获到变量中:
#!/bin/bash
sub_main=$(
for (( a = 0; a < 4; a++ )); do
printf '<div name="block-%d">\n' "$a"
done
)
# ... do other stuff ...
echo "$sub_main"或者,您可能希望使用函数将执行推迟到以后:
#!/bin/bash
sub_main() {
for (( a = 0; a < 4; a++ )); do
printf '<div name="block-%d">\n' "$a"
done
}
# ... do other stuff ...
sub_mainhttps://stackoverflow.com/questions/54138858
复制相似问题