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 ' ' ,

一般来说,最好首先创建正确的输出。

相关内容