私は(うまくいけば)単純な問題を抱えていますが、それはあまり成功せずに解決しようとしてきました。次の簡単なシェルスクリプトについて考えてみます。
list = "AB C"
for i in $ scriptsdo//いくつかのロジックが実行されました
エコー$リスト
上記の例からの望ましい出力は次のとおりです。
右-A右-B右-C
私は(うまくいけば)単純な問題を抱えていますが、それはあまり成功せずに解決しようとしてきました。次の簡単なシェルスクリプトについて考えてみます。
list = "AB C"
for i in $ scriptsdo//いくつかのロジックが実行されました
エコー$リスト
上記の例からの望ましい出力は次のとおりです。
右-A右-B右-C
追加の引数が指定された場合にフォーマットを再利用する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
あなたの質問は理解できたと思いますが、100% 明確ではありません。ただし、BASH をシェルとして使用することをお勧めします。そして、あなたが求めている出力を作成するために私がすることは次のとおりです。
#!/bin/bash
LIST=(A B C)
for VALUE in "${LIST[@]}"
do
echo 'right-'${VALUE}
done