1

我有一个(希望如此)简单的问题,我一直在尝试解决但没有取得多大成功。考虑以下简单的 shell 脚本:

列表 = "AB C"

for i in $scripts do //一些逻辑完成

回声$列表

上述示例的所需输出是:

右-A 右-B 右-C

4

2 回答 2

1

我想我理解你的问题,但不是 100% 清楚。但我建议使用 BASH 作为外壳。这就是我要创建您要求的输出的方法。

#!/bin/bash
LIST=(A B C)
for VALUE in "${LIST[@]}"
do
  echo 'right-'${VALUE}
done
于 2013-01-24T05:32:33.140 回答
1

如果给出额外的参数,使用printf并利用其重用格式的特性:

# specifically, do not quote the variable so that 
# the shell can split it into words
printf "right-%s " $list

# the printf command does not emit a newline, so 
# do it here
echo

假设 bash 将其捕获为新变量:

printf -v prefixed_list "right-%s " $list
于 2013-01-25T00:10:56.707 回答