2013-12-10 73 views
-2

我想讓bash腳本...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 
+0

我已經編輯自己的帖子復位list值....你可以再看看? – user2467583

回答

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

+0

hmmm ... 我想使用for循環創建bash腳本... – user2467583

+0

@ user2467583 - 您應該編輯您的問題以指示約束 –

1

有你的代碼的幾個問題。

您的for循環語法不正確 - 您缺少in :: for i in {1..6}

您正在替換list的值,而不是附加下一個數字:: list="$list$j "

您需要爲每一行:: list=""

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