2017-05-07 11 views
-3

これは以前の試験の質問にあるスクリプトです。私が6に等しい理由とJが9に等しい理由について混乱しています。誰かが詳細を教えてもらえますか?Bashスクリプトforループ?

以下は、小さなbashスクリプトです。最後のエコー 文の出力は何ですか?あなたの働きを見せてください。

#!/bin/sh 
i=0 
for a in 9 8 7 6 5 4 
do 
j=1 
for b in 1 2 3 4 
do 
let "j+=2" 
done 
let "i+=1" 
done 
echo "i=$i j=$j" 
+1

もお試しください! – fedorqui

+0

ここに 'code'を投稿してください。リンクは良い考えではありません。 – luoluo

+1

私たちのために書き直してみませんか?私は申し訳ありませんが、私はテキストブラウザを使用している画像を開くことができません... – Sylogista

答えて

3

コードを書き留めてください。

#!/bin/sh 

i=0 
for a in 9 8 7 6 5 4 # <- i gets incremented by 1 for each "step" here. 
do 
    j=1 
    for b in 1 2 3 4 # <- j gets incremented by 2 for each "step" here. 
    do 
     let "j+=2"  # <- this is where j get incremented 
    done 
    let "i+=1"   # <- this is where i get incremented 
done 
echo "i=$i j=$j" 

したがって、

  • jが1の開始値を有し、そして+2(4回)だけインクリメント取得9
  • を= I 0の開始値を有し、インクリメント得ます+1(6回)= 6
+0

ありがとう –

+0

@MShaw問題ありません。あなたは質問の質問ガイドを読むことをお勧めしますか? https://stackoverflow.com/help/asking - StackOverflowは他の人が解決するための宿題を投稿するフォーラムではありませんが、このケースでは私が始めたときに私が助けてくれたあなたの事例について好きなことがいくつかありました。 – hmedia1

関連する問題