# $ İle başlayan bash script satırlarının anlamı nedir?


13

Bulduğum bu bashsenaryoyu ben kendi iş için kullanıma istediğiniz GitHub'dan. Sorum şu: 2'den 5'e kadar olan hatlar ne anlama geliyor? Sadece yorumlar mı yoksa herhangi bir amaca mı hizmet ediyorlar?

#!/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!"

Yanıtlar:


19

İle başlayan satırlar #$için seçenekler qsub, SGE kümesine bir iş göndermek için kullanılan bir komut, bu benioku dosyasında açıklanan bir zamanlama sistemi :

BIMSB (yakında MAX olarak adlandırılacak) küme ortamını kullanmak, iş gönderiminiz için unix / linux ortamlarını kullanmaya benzer (örneğin komut dosyalarınızı veya diğer yazılımlarınızı çalıştırma). Aradaki fark, gerekli kaynakları önceden belirtmeniz gerektiğidir. Küme, kuyrukları ve kaynakları düzenleyen bir SGE (Sun Grid Engine Yazılımı) tarafından denetlenir. Bu tür bir programlama sistemi, sınırlı hesaplama kaynakları birçok kişi tarafından paylaşıldığında gereklidir. Birden çok örnek için hizalama çalıştırıyorsanız ve bu görevleri (işleri) birden fazla makine veya CPU'ya dağıtmak veya uzun süre birden fazla CPU'da çalışması gereken istatistiksel simülasyonlar çalıştırmak yararlı olacaktır. Bu davalar ve çok daha fazlası için,

SGE "iş planlaması" yapacak. Bu, tüm işlerinizi gönderebileceğiniz ve SGE bunları sıraya koyacağınız ve istediğiniz kaynaklar kullanılabilir hale geldiğinde çalıştıracağınız anlamına gelir. SGE ayrıca belirli düğümlerin aşırı yüklenmemesi için işlerin dağıtılacağı "yük dengeleme" yi de gerçekleştirecektir. Buna ek olarak, SGE işinizin çalışıp çalışmadığını kontrol etmek istediğinizde yararlı olacak "iş izleme ve muhasebe" yapmanızı sağlar ve başarısız olursa, neyin yanlış gittiğini anlamanıza yardımcı olacaktır.

qsubKomutun sözdizimi kendi sayfasında açıklanır , betiğiniz aşağıdaki seçenekleri kullanır:

  • -l h_rt=<hh:mm:ss> - maksimum çalışma süresini belirtin (saat, dakika ve saniye)
  • -V - tüm ortam değişkenlerini işe aktarın
  • -N <jobname>- işin adını belirtin. Bu qstat, işlerinizin durumunu kontrol etmek için kullandığınızda göreceksiniz .
  • -j y[es]|n[o] - işin standart hata akışının standart çıktı akışına birleştirilip birleştirilmeyeceğini belirtir

As qsub kullanarak bir işi nasıl gönderilir biri ayarlayabilirsiniz açıklıyor qsubile başlayan satırlarda Senaryoda doğrudan seçenekleri #$. Bu onları qsubkomut satırındaki komutla geçirmenin bir alternatifidir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.