Bash arraysஒரு அறிமுகம்

மென்பொருள் பொறியாளர்கள் அனைவரும் தங்களுடைய நிரல்தொடர் எழுதும் நடவடிக்கைகளில் கட்டளைவரிகளை வழக்கமாக பயன்படுத்துகின்றனர் என்றாலும் அவ்வாறான கட்டளைவரிகளை தெளிவற்ற , கேள்விக்குரிய தொடரில் ஒதுக்கி தெளிவானதாக ஆக்குவதற்காக arraysஎன்பது மிகமுக்கிய பங்காற்றுகின்றது அதிலும் Bash arraysஎன்பது மிக சக்திவாய்ந்ததாக விளங்குகின்றது
ஒரு நிறுவனத்தில் பணிபுரியும்மென்பொருள் பொறியாளர்கள் தம்முடைய நிறுவனத்தின் உள்ளக தரவுகளை போதுமானஅளவு நிருவகிப்பதற்கான முதல் படிமுறையாக இதனை எவ்வாறு பயன்படுத்துவது என்பதை நன்கு மதிப்பிடுவதற்கு ஒரு அளவுரு சுழற்சி செய்ய வேண்டும். இந்த செயலை எளிமையாக்கிடும் பொருட்டு, நாம் ஒரு தொகுக்கப்பட்ட C ++ கறுப்புப் பெட்டியை இதற்காக கையாளுவோம் அங்கு நாம் மாற்றக்கூடிய ஒரே அளவுரு தரவு செயலாக்கத்திற்காக ஒதுக்கப்பட்டதே pipeline –threads 4. என்பதாகும் இந்த threadsஇன்அளவுரு கட்டளை வரி பின்வருமாறு
allThreads=(1248163264128)
இதனைதொடர்ந்து arraysஇல் கன்னி, சுட்டி ஆகியவைசேர்ந்த கட்டளைவரிகள் பின்வருமாறு
foriin${!allThreads[@]};do
./pipeline–threads${allThreads[$i]}
done
பிறகு இந்த arraysஐ வெளியீடுசெய்திடவேண்டும் மேலும் இது இயல்புநிலையில் பயனுள்ளதாக அமைந்திடவேண்டும் இவையனைத்தும் ஒருங்கிணைந்த குறிமுறைவரிகள் பின்வருமாறு
allThreads=(1248163264128)
allRuntimes=()
fortin${allThreads[@]};do
runtime=$(./pipeline–threads$t)
allRuntimes+=($runtime)
done

நாம் சிறுசிறு குறிமுறைவரிதொகுப்புகளை கைவசம் கொண்டிருப்போம் நம்மில்ஒருசிலர் அவைகளை பூட்டிவைத்திருப்பார்கள் அதற்கான எச்சரிக்கை கட்டளைவரிகள் பின்வருமாறு
# List of logs and who should be notified of issues
logPaths=(“api.log””auth.log””jenkins.log””data.log”)
logEmails=(“jay@email””emma@email””jon@email””sophia@email”)
# Look for signs of trouble in each log
foriin${!logPaths[@]};
do
log=${logPaths[$i]}
stakeholder=${logEmails[$i]}
numErrors=$(tail-n100″$log”|grep”ERROR”|wc-l)
# Warn stakeholders if recently saw > 5 errors
if[[“$numErrors”-gt5]];
then
emailRecipient=”$stakeholder”
emailSubject=”WARNING:${log}showing unusual levels of errors”
emailBody=”${numErrors}errors found in log${log}”
echo”$emailBody”|mailx-s”$emailSubject””$emailRecipient”
fi
done

இந்நிலையில் நாம் தான்ஏற்கனவே இதே செயலிற்காக பைத்தான் எனும் கணினிமொழியை பயன்படுத்தி கொண்டிருக்கும்போது இந்த Bash தேவையா என நம்மனவருடைய மனதிலும் கேள்வி எழும் நிற்க
பொதுவாக நாம் அளவுரு வட்டத்தை செயல்படுத்த பைதானை பயன்படுத்தி கொள்ளவேண்டும்என விரும்புவோம் , ஆயினும் பின்வருமாறான குறிமுறைவரிகளால் பைத்தானிற்கு பதிலாக Bash arrays பயன்படுத்திகொள்வது சிறப்பானதாக இருக்கும்
import subprocess
all_threads =[1,2,4,8,16,32,64,128]
all_runtimes =[]
# Launch pipeline on each number of threads
fortinall_threads:
cmd =’./pipeline –threads {}’.format(t)
# Use the subprocess module to fetch the return output
p = subprocess.Popen(cmd,stdout=subprocess.PIPE,shell=True)
output = p.communicate()[0]
all_runtimes.append(output)
இந்த எடுத்துக்காட்டில்குறிமுறைவரிகளின் கட்டளை வரியை சுற்றி வரதேவையில்லை என்பதால், நேரடியாக Bash arrays பயன்படுத்துவது சிறந்ததாக வுள்ளது.

2 பின்னூட்டங்கள் (+add yours?)

  1. Trackback: Bash arraysஒரு அறிமுகம் – TamilBlogs
  2. Venus
    ஆக 19, 2018 @ 22:49:23

    53. The dealer must be the Bank for the first round.

    மறுமொழி

மறுமொழியொன்றை இடுங்கள்

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  மாற்று )

Google+ photo

You are commenting using your Google+ account. Log Out /  மாற்று )

Twitter picture

You are commenting using your Twitter account. Log Out /  மாற்று )

Facebook photo

You are commenting using your Facebook account. Log Out /  மாற்று )

Connecting to %s

%d bloggers like this: