Bash脚本,请帮我搞定

时间:2013-12-10 03:43:28

标签: linux bash shell loops

我想制作bash脚本......

结果:

Row 1 : 1 2 3 4 5 6 7 8 9 10

Row 2 : 1 2 3 4 5 6 7 8 9 10

Row 3 : 1 2 3 4 5 6 7 8 9 10

Row 4 : 1 2 3 4 5 6 7 8 9 10

Row 5 : 1 2 3 4 5 6 7 8 9 10

Row 6 : 1 2 3 4 5 6 7 8 9 10
你可以帮助我......?

我是这样做的:

  for i {1..6}
  do
    for j {1..10}
    do
      list=$j
    done
    echo "Row $i = $list"
  done

2 个答案:

答案 0 :(得分:1)

一衬垫:

$ seq -f "Row %g : $(seq -s' ' 10)" 6
Row 1 : 1 2 3 4 5 6 7 8 9 10
Row 2 : 1 2 3 4 5 6 7 8 9 10
Row 3 : 1 2 3 4 5 6 7 8 9 10
Row 4 : 1 2 3 4 5 6 7 8 9 10
Row 5 : 1 2 3 4 5 6 7 8 9 10
Row 6 : 1 2 3 4 5 6 7 8 9 10
$ 

鉴于您必须使用for循环的约束,您应该能够在其他答案的帮助下解决此问题。

为了帮助您将来再次调试此类内容,您可以将set -x添加到脚本的顶部(#!/bin/bash下)。这将打开一堆调试输出,这将有助于您了解脚本正在做什么以及您需要做什么才能使它做到您想要的。

The set builtin

答案 1 :(得分:1)

您的代码存在一些问题。

您的for循环语法不正确 - 您遗漏了in :: for i in {1..6}

您正在替换list的值,而不是追加下一个数字:: list="$list$j "

您需要为每行list

重置list=""的值
for i in {1..6}
do
  list=""
  for j in {1..10}
  do
    list="$list$j "
  done
  echo "Row $i = $list"
done