私はbashとLinuxに初めて触れ、bashループを作成する方法を知りたいです。その後、実行時に何回実行するかを尋ね、それほど実行します。
LUAでやっていますが、bashのファイルに追加して~/.bashrc
VPSに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"; done
seq
この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回。
もちろん、より複雑なシナリオでは、たとえば、ユーザーの応答が数字でゼロより大きいことを確認する必要がありますが、この例では目的の操作を実行すると思います。