শেল কমান্ড লাইন আর্গুমেন্টগুলি $1
(প্রথম), $n
(নবম), বা $*
(সমস্ত যুক্তি) মাধ্যমে অ্যাক্সেসযোগ্য , তাই আপনার স্ক্রিপ্টটি শুরু করা উচিত:
#!/bin/bash
if [ $# -ne 1 ]; then
echo $0: usage: myscript name
exit 1
fi
name=$1
এখন নাম যুক্তিটি স্ক্রিপ্ট থেকে অ্যাক্সেসযোগ্য $name
।
টাইমস্ট্যাম্পটি পেতে date(1)
কমান্ডটি ব্যবহার করুন এবং এটিকে একটি ফর্ম্যাট স্পেসিফায়ার দিন যাতে এটি আপনার পছন্দ মতো ফর্ম্যাটটি তৈরি করে:
now=$(date +%Y%m%d%H%M%S)
এখন $now
বর্তমান তারিখ এবং সময় রয়েছে।
সুতরাং আপনি এইভাবে আপনার লগ ফাইল তৈরি করতে পারেন:
logfile=/path/to/log/file/mylogfile.$now
echo "[$name]=[$now]" >> $logfile
আপনার বার্তাগুলি লগ করতে শেল ফাংশনটি ব্যবহার করা ভাল কারণ এটি ব্যবহার করা সহজ হবে:
function logit
{
now=$(date +%Y%m%d%H%M%S)
echo "$now: $*" >> $logfile
}
নোট করুন যে শেল ফাংশনগুলি তাদের নিজস্ব আর্গুমেন্টগুলিকে স্ক্রিপ্টের (একইভাবে $1
) মাধ্যমে অ্যাক্সেস করে
সুতরাং প্রাথমিক স্ক্রিপ্টটি এর মতো দেখাচ্ছে:
#!/bin/bash
function logit
{
now=$(date +%Y%m%d%H%M%S)
echo "$now: $*" >> $logfile
}
if [ $# -ne 1 ]; then
echo $0: usage: myscript name
exit 1
fi
name=$1
now=$(date +%Y%m%d%H%M%S)
logfile=/path/to/log/file/mylogfile.$now
logit name = $name
(নোট করুন লগ ফাইলটি আপনার নির্দিষ্ট ফর্ম্যাটে নির্দিষ্ট নয়; প্রতিটি লাইনের শুরুতে টাইমস্ট্যাম্পের সাথে এটি আরও ভাল।
[[ -n "$name" ]]
অংশটি কী করছে তা জানতে সহায়ক হবে ।