# $ দিয়ে শুরু হওয়া বাশ স্ক্রিপ্ট লাইনের অর্থ কী?


13

আমি এই bashস্ক্রিপ্টটি গিটহাবটিতে পেয়েছি যা আমি নিজের কাজের জন্য ব্যবহার করতে চাই। আমার প্রশ্নটি নিম্নলিখিত: 2 থেকে 5 রেখার অর্থ কী? তারা কি কেবল মন্তব্য করে বা তারা কোনও উদ্দেশ্য করে?

#!/bin/bash
#$ -l h_rt=72:00:00
#$ -V
#$ -N index_calc
#$ -j y

source ~/modules.sh

cd $1

l_file=`find . -name 'L*stack' -type f`
for l in $l_file; do
    echo "Running on file:"
    echo $l
      extract=${l:0:45}
    name=${extract}_index.tif
    echo "Name of index stack:"
    echo $name
    echo "Executing code..."
    ~/Documents/misc/spectral/transforms.py \
    -v $l $name evi ndvi nbr ndmi 

done

echo "Done!"

উত্তর:


19

শুরু হওয়া লাইনগুলির #$বিকল্পগুলি qsubহ'ল, এসজিই ক্লাস্টারে একটি কাজ জমা দেওয়ার জন্য ব্যবহৃত একটি কমান্ড, এই রেডমিমে ব্যাখ্যা করা একটি শিডিয়ুলিং সিস্টেম :

বিআইএমএসবি (শিগগিরই MAX বলা হবে) ক্লাস্টার পরিবেশটি আপনার কাজের জমা দেওয়ার জন্য ইউনিক্স / লিনাক্স পরিবেশ ব্যবহারের অনুরূপ (যেমন আপনার স্ক্রিপ্ট বা অন্য সফ্টওয়্যার চালানো)। পার্থক্যটি হ'ল আপনাকে আগে থেকেই প্রয়োজনীয় সংস্থান নির্দিষ্ট করতে হবে। ক্লাস্টারটি একটি এসজিই (সান গ্রিড ইঞ্জিন সফ্টওয়্যার) দ্বারা নিয়ন্ত্রিত হয় যা সারি এবং সংস্থানগুলি সংগঠিত করে। যখন সীমাবদ্ধ কম্পিউটেশনাল রিসোর্স অনেকের দ্বারা ভাগ করা হয় তখন এই ধরণের শিডিউলিং সিস্টেমটি প্রয়োজনীয়। এবং, আপনি যদি একাধিক নমুনার জন্য প্রান্তিককরণ চালাচ্ছেন এবং একাধিক মেশিন বা সিপিইউগুলিতে সেই কাজগুলি (কাজগুলি) বিতরণ করতে চান বা একাধিক সিপিইউতে দীর্ঘ সময়ের জন্য চালিত হওয়া স্ট্যাটিস্টিকাল সিমুলেশনগুলি চালনা করতে চান তবে এটি কার্যকর হবে। এই ক্ষেত্রে এবং আরও অনেকের জন্য,

এসজিই "কাজের সময়সূচী" করবে। এর অর্থ আপনি আপনার সমস্ত কাজ জমা দিতে পারেন এবং এসজিই সেগুলিকে সরিয়ে ফেলবে এবং আপনার অনুরোধ করা সংস্থানগুলি যখন সরবরাহযোগ্য হবে তখন এগুলি পরিচালনা করবে। এসজিই "লোড ব্যালেন্সিং" অর্জন করবে যেখানে নির্দিষ্ট বিতরণগুলি যাতে অতিরিক্ত বোঝা না ঘটে সে জন্য কাজগুলি বিতরণ করা হবে। এছাড়াও, এসজিই আপনাকে "জব মনিটরিং এবং অ্যাকাউন্টিং" করার অনুমতি দেবে যা আপনি যখন আপনার কাজটি চালাচ্ছেন কিনা তা পরীক্ষা করতে চাইলে কার্যকর হবে এবং যদি এটি ব্যর্থ হয় তবে আপনাকে কী ভুল হয়েছে তা বুঝতে সহায়তা করবে।

qsubকমান্ডের বাক্য গঠনটি তার ম্যানপেজে ব্যাখ্যা করা হয়েছে , আপনার স্ক্রিপ্টটি নিম্নলিখিত বিকল্পগুলি ব্যবহার করে:

  • -l h_rt=<hh:mm:ss> - সর্বোচ্চ রান সময় (ঘন্টা, মিনিট এবং সেকেন্ড) নির্দিষ্ট করুন
  • -V - পরিবেশে সমস্ত পরিবেশের ভেরিয়েবল পাস করুন
  • -N <jobname>- কাজের নাম উল্লেখ করুন। আপনি যখন ব্যবহার করবেন তখন qstatআপনার কাজের স্থিতি পরীক্ষা করতে এটি আপনি দেখতে পাবেন ।
  • -j y[es]|n[o] - কাজের স্ট্যান্ডার্ড ত্রুটি স্ট্রিমটি স্ট্যান্ডার্ড আউটপুট প্রবাহে একীভূত হয়েছে কিনা তা নির্দিষ্ট করে

হিসাবে কিভাবে qsub ব্যবহার করে একটি কাজ জমা দিতে এক সেট করতে পারেন ব্যাখ্যা qsubলাইন যে দিয়ে শুরু মধ্যে লিপিতে সরাসরি অপশন #$qsubকমান্ড-লাইনে কমান্ড দিয়ে তাদের পাস করার বিকল্প ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.