Linuxの出力は次の行に移動しません。

Linuxの出力は次の行に移動しません。

私はLinuxに初めてアクセスし、bashスクリプトを使用していくつかの出力を実行する方法を尋ねたいと思います。このように印刷できます。

1
2
3

しかし、どのようにこれを作ることができますか?

1,2,3

多くのウェブサイトを見てきましたが、これを行う方法については明確な指示が見つからないようです。

答え1

現在のプログラムは、echoデフォルトで作成されたテキストと改行文字を使用します。改行を避けるように指示できますが、最初は改行しないツールを使用する方が良いです

#!/bin/bash
first=yes                               # First time through the loop
for (( i=10; i<=20; i++ ))              # Loop from i=10
do
    [[ -z "$first" ]] && printf ", "    # Print a comma unless first time through
    printf "%s" "$i"                    # Print the number (as a string)
    first=                              # Not the first time through
done
printf "\n"                             # Final newline

元のスクリプトの出力を後処理できますが、元の出力にスペースを含めると簡単に壊れる可能性があります。

./yourscript | xargs | tr ' ' ,

通常、正しい出力を最初に生成するのが最善です。

関連情報