whileループ条件でネストされた変数を挿入しようとしていますが、正しく拡張できません。
print_message() {
timer=0
timer_condition="$2"
while [[ $timer_condition ]]; do
sleep 1
timer=$((timer+1))
done
echo "$1"
}
print_message 'Hello world, 5 seconds passed...' '$timer != "5"'
print_message 'Hello again, another 10 seconds passed...' '$timer != "10"'
たとえば、私は2つのパラメータを受け取る単純な関数print_messageを作成しました。 $ 1は印刷するメッセージで、$ 2はメッセージを表示するために関数に異なる条件を提供できるようにwhileループでテストする条件です。ただし、whileループはコンテンツではなく、$timer_condition自体がtrueかどうかをテストします。このように動作させる方法はありますか?
while [[ $timer != "5" ]]; do
ありがとう
ベストアンサー1
目的のタスクを実行する1つの方法は次のとおりです。
print_message() {
timer=0
timer_condition="$2"
while (( $timer_condition ))
do
sleep 1
(( timer += 1 ))
done
echo "$1"
}
print_message 'Hello world, 5 seconds passed...' 'timer != 5'
print_message 'Hello again, another 10 seconds passed...' 'timer != 10'
~