我有一个(希望)简单的问题,我一直试图解决这个问题而没有取得多大成功。 考虑以下简单的shell脚本:
list =“A B C”
for $ in $ scripts 做 //一些逻辑 完成
echo $ list
以上示例的所需输出为:
右 - 右 - 右 - C
答案 0 :(得分:1)
我想我理解你的问题,但并不是100%清楚。但我建议使用BASH作为shell。以下是我要创建您要求的输出的方法。
#!/bin/bash
LIST=(A B C)
for VALUE in "${LIST[@]}"
do
echo 'right-'${VALUE}
done
答案 1 :(得分:1)
使用printf
并利用其re-using the format if extra arguments are given的功能:
# 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