BASHループを作成する方法

BASHループを作成する方法

私はbashとLinuxに初めて触れ、bashループを作成する方法を知りたいです。その後、実行時に何回実行するかを尋ね、それほど実行します。

LUAでやっていますが、bashのファイルに追加して~/.bashrcVPSにsshするときに起動したいです。私が書いたLuaコードは次のとおりです。

    write("How many times should I loop? ")
local Num = tonumber( read() )
for i=1,Num do
   print("Looped "..tostring(i).." time(s).")
end

ここに私が追加する小さな内容があります~/.bashrc

if [[ -n $SSH_CONNECTION ]] ; then
echo example
fi

答え1

これは一行です。

read -p "No of Repetitions?" repeat; for i in $(seq $repeat); do echo "This is $i"; done

$SSH_CONNECTION空でないときにこのコマンドを実行するには、次のようにします。

[[ -n $SSH_CONNECTION ]] && read -p "No of Repetitions?" repeat; for i in $(seq $repeat); do echo "This is $i"; done
  • &&前のコマンドが成功した後にのみ、次のコマンドが実行されることを示します($?=0)。

  • read -p "No of Repetitions?" repeatプロンプト"No of Repetitions?"と入力をrepeat変数として保存します。

  • for i in $(seq $repeat); do echo "This is $i"; doneseqこのforループは、操作を完了するために指定された回数だけ繰り返すために使用されます。echo "This is $i"あなたがしたいものはそれを置き換える必要があります。

これは次のように詳しく説明できます。

if [[ -n $SSH_CONNECTION ]]; then
        read -p "No of Repetitions?" repeat
fi

for i in $(seq $repeat); do
        echo "This is $i" 
done

答え2

これが役立つことを確認してください:

#!/bin/bash
echo -n "How many times should I run? "
read numOfTimes
for i in $(seq 1 $numOfTimes);do
echo $i
done

説明をいくつかの部分に分けてみましょう。

  • エコ-n画面にメッセージを表示し、ユーザーの応答を変数として読み込みます。頻度
  • カーニバルforループ次の構造があります。 iの場合は[1 2 3 4 ... n]を行います。
  • この例ではシーケンスを作成しました。1 2 3 4 ...円使用注文、開始数字は 1 で、最後の要素は次の値で表されます。$numOf回

もちろん、より複雑なシナリオでは、たとえば、ユーザーの応答が数字でゼロより大きいことを確認する必要がありますが、この例では目的の操作を実行すると思います。

源泉:http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-7.html

関連情報