如何在Shell脚本中将多个字符串值分配给变量?

时间:2019-01-11 00:36:13

标签: shell command echo

我正在尝试循环更改该数字的文本文件,并将孔字符串存储到shell变量中,以便稍后打印

我尝试使用“ >>”将该字符串返回一个整数(循环中的数字)

const FORM = ({ A1_ALL: { a: 'Y', b: 'Y', c: 'Y' }, B1_ALL: { a: 'Y', b: 'Y', c: 'N' }, C1_ALL: { a: 'Y', b: 'Y', c: 'Y' }, }) 
const eY = equals('Y') 
const isSelected = compose(all(eY), values) 
const groupValue = when(isSelected, always('Y')); 
const formValue = map(groupValue) formValue(FORM) Result is {A1_ALL: "Y", C1_ALL: "Y", B1_ALL: {a: "Y", b: "Y", c: "N"}}

脚本的输出应为:

#!/bin/bash
a=0
while [ "$a" -lt 4 ]
do
    echo '<div name="block-'${a}'">' >> $sub_main
    ((a++))
done
echo "done"
echo $sub_main

2 个答案:

答案 0 :(得分:0)

>>将输出内容附加到文件中。如果要附加到变量,则可以使用赋值变量的赋值,以附加到正确值的开头。

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}";

答案 1 :(得分:0)

使用命令替换将输出捕获到变量中

#!/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_main