2つの文字列シェルスクリプトCONCATENATE私はtxtファイルに次のパターンを提供する必要があるシェルスクリプトをしました
test0000 [email protected]
test0001 [email protected]
というようになるまで停止条件(この場合は10 ...)
は現在、動作していないと私は次のように試してみました:
start=“test”
email=“@gmail.com"
start=0
stop=10
i=0
while [[ $i -le 10 ]]
do
printf "%s%10d\n" "$start” "$i" "\n" "$start” "$email"
それを解決するためにどのように任意のアイデア? "@ gmail.com:" あなたが使用することができ、無効な数
あなたの引用はすべて間違っています。 '' ''は '' 'と同じではありません。 – Mat
元のコードには、フォーマット文字列内に2つのプレースホルダしかありません。 3つ以上の引数を指定すると、最初のプレースホルダからの置換よりも開始されます。つまり、引用符が固定されていると仮定すると、 '$ start'は'%s'に入り、 '$ i'は'%10d 'それはすべきですが、' \ n'は次の '%s'に入り、' $ start'は '%10d'に行きます。その値は数値ではないので、エラーが発生します。 (そして、最後の '$ email'引数を残しておけば、エラーが出ない場合はフォーマット文字列を3回目に評価しようとします)。 –