دستور continue در لینوکس
در این بخش به بررسی دستور continue در لینوکس می پردازیم، در دنیای سیستمعاملهای مبتنی بر لینوکس، مدیریت فرآیندها و جریانهای کاری یکی از مهمترین مهارتها برای کاربران است. هنگامی که برنامهنویسان و مدیران سیستمها با اسکریپتهای Bash و دستورات سیستمعامل کار میکنند، ممکن است لازم باشد که برخی از بخشهای کد خود را با استفاده از دستورات کنترلی تنظیم کنند. دستور continue یکی از این ابزارهای مهم است که به کاربران امکان کنترل بهتر جریانهای تکراری (حلقهها) در اسکریپتها را میدهد.
این دستور در برنامهنویسی Bash و سایر زبانهای اسکریپتی مبتنی بر یونیکس، کاربرد گستردهای دارد. هدف اصلی از استفاده این دستور، انتقال کنترل از یک نقطه درون حلقه به ابتدای همان حلقه است، بدون اینکه کل حلقه متوقف شود. در این مقاله، ما به بررسی جزئیات دستور continue میپردازیم، نحوه کارکرد آن را شرح میدهیم و نمونههایی از استفاده آن در اسکریپتهای واقعی ارائه خواهیم کرد.
دستور continue در لینوکس چیست؟
دستور continue یکی از دستورات کنترلی است که در زبان Bash و سایر پوستههای یونیکس برای کنترل جریان تکراری مورد استفاده قرار میگیرد. وقتی این دستور در یک حلقه (مثل for، while یا until) اجرا میشود، به جای خاتمه کامل حلقه، فقط یک تکرار جاری را متوقف میکند و به اجرای تکرار بعدی حلقه میپردازد. در واقع، continue باعث میشود که باقی دستورات درون حلقه برای تکرار جاری نادیده گرفته شوند و برنامه بلافاصله به ابتدای حلقه برگردد تا تکرار جدید آغاز شود.
این دستور به ویژه در مواردی کاربرد دارد که نیاز به نادیده گرفتن برخی شرایط خاص در یک حلقه و ادامه فرآیند کلی حلقه باشد. به کمک این دستور میتوان کدهای پیچیدهتر و مؤثرتری نوشت که منطق بهتری برای کنترل فرآیندها دارند.
ساختار کلی دستور continue
continue [n]n: یک مقدار عددی اختیاری است که مشخص میکند چند سطح از حلقههای تو در تو باید تحت تاثیر دستور قرار بگیرند. اگرnمشخص نشود، مقدار پیشفرض آن برابر با ۱ است که تنها حلقه جاری را تحت تأثیر قرار میدهد.
کاربرد دستور continue در حلقهها
۱. دستور continue در حلقههای for
یکی از رایجترین مکانهایی که دستور continue استفاده میشود، در حلقههای for است. در اینجا، دستور میتواند برای نادیده گرفتن برخی از مقادیر و ادامه اجرای حلقه برای بقیه عناصر مورد استفاده قرار گیرد.
مثال:
#!/bin/bash
for i in {1..5}
do
if [ $i -eq 3 ]
then
continue
fi
echo "Number: $i"
doneدر این مثال، زمانی که مقدار i برابر با ۳ میشود، دستور continue اجرا شده و مقدار ۳ نادیده گرفته میشود. خروجی برنامه به این صورت خواهد بود:
Number: 1
Number: 2
Number: 4
Number: 5همانطور که مشاهده میکنید، مقدار ۳ به دلیل وجود دستور continue چاپ نمیشود و حلقه با سایر مقادیر ادامه پیدا میکند.
۲. دستور continue در حلقههای while
دستور continue همچنین در حلقههای while قابل استفاده است. این دستور به ما کمک میکند تا در شرایط خاصی، برخی از بخشهای تکرار حلقه را رد کنیم و حلقه را با شرایط جدید ادامه دهیم.
مثال:
#!/bin/bash
count=1
while [ $count -le 5 ]
do
if [ $count -eq 3 ]
then
count=$((count+1))
continue
fi
echo "Count: $count"
count=$((count+1))
doneخروجی این برنامه مشابه حلقه for است:
Count: 1
Count: 2
Count: 4
Count: 5در اینجا، زمانی که مقدار count برابر با ۳ میشود، دستور continue باعث میشود که تکرار حلقه متوقف شود و مقدار بعدی بررسی شود.
استفاده از continue در حلقههای تو در تو
دستور continue در حلقههای تو در تو نیز قابل استفاده است. به کمک پارامتر n میتوان تعیین کرد که کدام سطح از حلقهها باید متوقف شود. این قابلیت میتواند در برنامههای پیچیدهتر که شامل چندین حلقه تو در تو هستند بسیار مفید باشد.
مثال:
#!/bin/bash
for i in {1..3}
do
for j in {1..3}
do
if [ $j -eq 2 ]
then
continue 2
fi
echo "i = $i, j = $j"
done
doneخروجی این کد:
i = 1, j = 1
i = 2, j = 1
i = 3, j = 1در این مثال، وقتی j برابر با ۲ میشود، دستور continue 2 باعث میشود که نه تنها حلقه داخلی بلکه حلقه خارجی نیز یک تکرار را رد کند.
مقایسه دستور continue و break
کاربردهای عملی continue در اسکریپتها
استفاده از دستور continue میتواند در اسکریپتهای واقعی بسیار مفید باشد. به عنوان مثال، در مواقعی که نیاز به پردازش مجموعهای از فایلها داریم و میخواهیم برخی از فایلها را بر اساس شرایط خاصی نادیده بگیریم، میتوان از این دستور استفاده کرد.
مثال:
فرض کنید یک دایرکتوری شامل چندین فایل است و ما میخواهیم فقط فایلهای متنی (.txt) را پردازش کنیم.
#!/bin/bash
for file in *
do
if [[ $file != *.txt ]]
then
continue
fi
echo "Processing file: $file"
doneدر این مثال، دستور continue به ما کمک میکند تا فایلهایی که پسوند .txt ندارند را نادیده بگیریم و فقط فایلهای متنی را پردازش کنیم.
دستور continue یکی از ابزارهای قدرتمند در کنترل جریانهای کاری در اسکریپتهای Bash و سایر زبانهای اسکریپتی مبتنی بر یونیکس است. این دستور به کاربران اجازه میدهد که بخشهایی از حلقهها را نادیده بگیرند و به اجرای دیگر تکرارهای حلقه ادامه دهند. در این مقاله، به بررسی نحوه کارکرد این دستور در حلقههای مختلف پرداختیم و کاربردهای آن را با مثالهای عملی شرح دادیم. با استفاده از این دستور، میتوان اسکریپتهای کارآمدتری نوشت و فرآیندهای پیچیدهتری را به سادگی مدیریت کرد.
منابع
- Bash Scripting Guide
- GNU Bash Manual
- Linux Command Reference
آیا این مطلب برای شما مفید بود ؟




