1

例如

var=${foo}

somecommand=${fofo -b -a -r}

for i in "${somecommand}" ; do
            echo   $i
        done

说这个这会返回一个完整的行

/bar /bar /bar

我如何将每个实例添加到单独的变量数组中?

newVar1=${foo}/bar
newVar2${foo}/bar
newVar3${foo}/bar
4

1 回答 1

3

如果您有一个fofo -b -a -r输出空格分隔标记的命令,例如/foo /bar /baz,您可以使用以下命令将其分配给数组:

myArray=( $(fofo -b -a -r) )

如果你有一个变量foo=test,你可以使用它为每个元素添加前缀

myPrefixedArray=( "${myArray[@]/#/$foo}" )

以机智:

foo=myprefix
myCmd() {
  echo /foo /bar /baz
}

myArray=( $(myCmd) )
myPrefixedArray=( "${myArray[@]/#/$foo}" )

echo "Values:"
for var in "${myPrefixedArray[@]}"
do
  echo "$var"
done

哪个打印

Values:
myprefix/foo
myprefix/bar
myprefix/baz
于 2013-02-19T22:04:17.777 回答