কম্পিউটার টিউটোরিয়াল

Linux Sleep কমান্ড ব্যবহার করে BASH স্ক্রিপ্ট পজ করা

জানতে হবে

  • sleep কমান্ড প্লাস সময় ব্যবহার করুন; s=সেকেন্ড, m=মিনিট, h=আওয়ার, বা d=দিন (উদাহরণ: sleep 5s স্ক্রিপ্টকে ৫ সেকেন্ডের জন্য পজ করে)।
  • আরো জানতে man sleep ব্যবহার করুন।

এই আর্টিকেল ব্যাখ্যা করে কিভাবে Linux sleep কমান্ড ব্যবহার করে একটি bash স্ক্রিপ্ট পজ করা যায়। নিজে থেকে sleep কমান্ড খুব útil নয়। কিন্তু একটি স্ক্রিপ্টের অংশ হিসেবে এটি অনেকভাবে ব্যবহার করা যায়। উদাহরণস্বরূপ, আপনি এটি ব্যবহার করতে পারেন একটি কমান্ড প্রথমবার ফেল করলে সেটি রিট্রাই করার আগে স্ক্রিপ্টকে পজ করতে।

Sleep কমান্ড ব্যবহারের উদাহরণ

কল্পনা করুন আপনার একটি স্ক্রিপ্ট আছে যা অন্য একটি সার্ভার থেকে ডাউনলোড করা ফাইলগুলো প্রসেস করে। স্ক্রিপ্টটি কপি প্রসেস শুরু করবে না যতক্ষণ না সব ফাইল ডাউনলোড শেষ হয়। ডাউনলোড প্রসেস একটি আলাদা স্ক্রিপ্ট দিয়ে আপনার স্ক্রিপ্টের আগে চলে।

ফাইল কপি করার স্ক্রিপ্টে একটি লুপ থাকতে পারে যা টেস্ট করে সব ফাইল ডাউনলোড হয়েছে কিনা (এটি ৫০টি ফাইল পাওয়া যাচ্ছে কিনা চেক করে কপি প্রসেস শুরু করার আগে)।

স্ক্রিপ্টটি বারবার টেস্ট করতে প্রসেসর টাইম ব্যয় হবে। বরং আপনি প্রতিটি টেস্টের মধ্যে কয়েক মিনিট পজ করে আবার চেষ্টা করতে পারেন। solchen পরিস্থিতিতে sleep কমান্ড নিখুঁত।

Sleep কমান্ড কীভাবে ব্যবহার করবেন

Linux sleep কমান্ড ব্যবহার করতে টার্মিনাল উইন্ডোতে নিচের কমান্ড লিখুন:

sleep 5s

উপরের কমান্ড টার্মিনালকে ৫ সেকেন্ডের জন্য পজ করে তারপর কমান্ড লাইনে ফিরিয়ে আনে।

sleep কমান্ডে sleep কিওয়ার্ড, তারপর পজ করার পরিমাণ এবং ইউনিট অফ মেজার থাকতে হয়।

আপনি সেকেন্ড, মিনিট, আওয়ার, বা দিনে ডিলে নির্দিষ্ট করতে পারেন।

  • s: সেকেন্ড
  • m: মিনিট
  • h: আওয়ার
  • d: দিন

দিনের জন্য স্ক্রিপ্ট পজ করলে, স্ক্রিপ্টকে দিনগুলো ব্যাকগ্রাউন্ডে চালিয়ে রাখার বদলে একটি ক্রন জব ব্যবহার করে নিয়মিত ইন্টারভালে রান করা ভালো।

একটি ক্রন জব হলো একটি Linux কমান্ড বা স্ক্রিপ্ট যা আপনি একটি নির্দিষ্ট সময় বা দিনে চালানোর জন্য শিডিউল করতে পারেন। এগুলো দীর্ঘ সময় ধরে পুনরাবৃত্তি কাজের জন্য উপযোগী।

sleep কমান্ডের ইন্টারভালের জন্য নম্বরটি হোল নম্বর হতে হয় না। আপনি ফ্লোটিং-পয়েন্ট নম্বরও ব্যবহার করতে পারেন।

উদাহরণস্বরূপ, নিচের সিনট্যাক্সে সেকেন্ডের একটি ভগ্নাংশ অন্তর্ভুক্ত:

sleep 3.5s

Sleep কমান্ড ব্যবহারের আরেকটি উদাহরণ

নিচের স্ক্রিপ্টটি দেখায় কিভাবে sleep কমান্ড ব্যবহার করে একটি টার্মিনাল-ভিত্তিক কাউন্টডাউন ঘড়ি তৈরি করা যায়:

#!/bin/bash
x=10
while [ $x -gt 0 ]
do
sleep 1s
clear
echo "$x seconds until blast off"
x=$(( $x - 1 ))
done

এই স্ক্রিপ্ট কীভাবে কাজ করে:

  • স্ক্রিপ্ট x ভেরিয়েবলকে ১০ সেট করে।
  • while লুপ x-এর মান শূন্যের চেয়ে বড় থাকতে চলতে থাকে।
  • sleep কমান্ড লুপের প্রতিটি ইটারেশনে স্ক্রিপ্টকে ১ সেকেন্ড পজ করে।
  • বাকি স্ক্রিপ্ট প্রতিটি ইটারেশনে স্ক্রিন ক্লিয়ার করে, "x seconds until blast off" মেসেজ দেখায়, এবং x-এর মান থেকে ১ বিয়োগ করে।

sleep কমান্ড ছাড়া স্ক্রিপ্টটি খুব দ্রুত চলে যেতো, এবং মেসেজগুলো খুব দ্রুত দেখাত।

Sleep কমান্ড সুইচগুলো কীভাবে ব্যবহার করবেন

sleep কমান্ডের মাত্র কয়েকটি সুইচ আছে।

--help সুইচ sleep কমান্ডের হেল্প ফাইল দেখায়। আপনি একই কাজ man কমান্ড দিয়ে করতে পারেন নিচের মতো:

man sleep

--version সুইচ সিস্টেমে ইনস্টল করা sleep কমান্ডের ভার্সন দেখায়।

--version সুইচের আউটপুটে নিচের তথ্য থাকে:

  • ভার্সন নম্বর
  • কপিরাইট ডিটেইলস
  • লাইসেন্স
  • লেখক

Sleep দিয়ে টার্মিনাল কমান্ড পজ করা

sleep কমান্ডের আরেকটি ভালো ব্যবহার হলো আপনি টার্মিনাল উইন্ডোতে যে কমান্ড টাইপ করেন সেগুলো পজ করা।

আপনি চাইলে দুটি কমান্ড এক সাথেই লিখতে পারেন, প্রথমটি ফিনিশ হওয়ার জন্য অপেক্ষা করে দ্বিতীয়টি লিখতে।

তবে দ্রুত পদ্ধতি হলো দুটি কমান্ড এক লাইনে লিখুন, প্রতিটি কমান্ডের মাঝে sleep কমান্ড রেখে:

$ cd /mydirectory/ && sleep 3 && ls

এই কমান্ড কীভাবে কাজ করে:

  • cd /mydirectory/ কমান্ড ডিরেক্টরি পরিবর্তন করে।
  • sleep 3 কমান্ড cd কমান্ড ফিনিশ হওয়ার জন্য ৩ সেকেন্ড অপেক্ষা করে।
  • ls কমান্ড এক্সিকিউট হয় এবং ডিরেক্টরি কন্টেন্ট দেখায়।

এই সিম্পল উদাহরণে sleep কমান্ড মাত্র কিছুটা সময় বাঁচায়। কিন্তু আপনার যদি লম্বা একটি কমান্ড লিস্ট থাকে, তবে এক লাইনে কমান্ডগুলো লিখতে পারলে সময় বাঁচবে।

  1. লিনাক্স টার্মিনাল ক্যালকুলেটর হিসেবে ব্যবহার করুন

  2. লিনাক্সে tee কমান্ড ব্যবহার করুন

  3. লিনাক্সে নেটওয়ার্ক সংযোগ পর্যবেক্ষণের জন্য ss কমান্ডের ব্যবহার

  4. Linux Watch কমান্ড 습득: সিনট্যাক্স, অপশন এবং প্রয়োগিক উদাহরণ