Aceasta este comanda fai-class care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS
PROGRAM:
NUME
fai-class - definiți clase folosind fișiere și scripturi.
REZUMAT
fai-class [OPȚIUNE] CATALOG FIȘĂ DE CLASĂ
DESCRIERE
Această comandă este apelată doar intern de către FAI și nu direct de către utilizator.
fai-class execută scripturi în DIRECTORY pentru a defini clase. Toate clasele sunt scrise la
CLASSFILE, fiecare clasă pe o linie separată. Utilizați căi absolute pentru ambele argumente. Toate
scripturile sau executabilele care se potrivesc cu „^[0-9][0-9]*” (încep cu două cifre) sunt executate
in ordine alfabetica. Ei pot defini clase prin scrierea numelor claselor
stdout. Clasele pot fi separate prin spații sau scrise unul pe o linie. Toate liniile care încep
cu un „#” sunt linii de comentarii și sunt ignorate.
Scripturile Shell care se termină în „.sh” sunt provenite din sursă și pot defini clase prin setarea variabilei
$newclasses. Acest lucru este util pentru scripturile în care nu puteți controla stdout. Variabile care sunt
definite în aceste scripturi sunt disponibile pentru alte scripturi în DIRECTORY, dar nu sunt
exportat în shell-ul care apelează fai-class. Aceste scripturi pot defini variabile prin scriere
definiții în fișierul $LOGDIR/additional.var, care va fi găsit în continuare
sarcină.
Toate scripturile pot defini clase suplimentare prin scrierea claselor în fișier
$LOGDIR/clase-suplimentare. Aceste clase sunt definite după ce toate scripturile sunt executate. Acest
fișierul temporar va fi eliminat după utilizare.
Ordinea claselor este importantă deoarece definește prioritatea claselor din
mic spre mare. În primul rând, este definită clasa DEFAULT. Apoi toate scripturile sunt executate pentru a defini
clase. După aceea, sunt adăugate clasele din fișierul $LOGDIR/additional-classes. Atunci,
sunt adăugate toate clasele din fișierul cu numele de gazdă. Apoi clasele definite de variabilă
Sunt utilizate ADDCLASSES. Această variabilă trebuie să fie o listă de clase separate prin virgulă. Poti
definiți această variabilă pe linia de comandă a nucleului.
În cele din urmă, sunt definite clasa cu numele de gazdă și LAST.
Este important ca fiecare linie dintr-un fișier care conține un nume de clasă să se încheie cu o nouă linie. Dacă
Linia nouă lipsește pe ultima linie a unui fișier, această clasă nu poate fi adăugată.
Codul de ieșire al fiecărui script este scris în fișierul status.log din LODGIR.
OPŢIUNI
-d Creați ieșire de depanare.
-h Afișați ajutorul, versiunea și rezumatul opțiunilor.
-T Testați dacă clasele din CLASSFILE sunt definite de mai multe ori. Acest lucru nu ar trebui să se întâmple niciodată.
Testul este executat după ce clasele sunt definite.
-t tmpdir
Fișierul „additional-classes” este citit din directorul tmpdir. Valoarea implicită este
/tmp/fai/.
-v Creați o ieșire verbosă.
EXEMPLE
În FAI, fai-class este utilizată în felul următor:
# fai-class /fai/class /tmp/fai/FAI_CLASSES
Apoi lista tuturor claselor este atribuită claselor variabile.
classes=`cat /tmp/fai/FAI_CLASSES`
EXEMPLE PENTRU SCRIPTURI
Acesta este scriptul 01alias:
#! / Bin / sh
catnc() { # cat dar fără rânduri de comentarii
grep -v „^#” $1
}
# arhitectură ecou în majuscule
dpkg --print-architecture | tr /az/ /AZ/
uname -s | tr /az/ /AZ/
# toate gazdele numite furnică?? utilizați clasele din fișierul furnicar
cazul $HOSTNAME în
ant??) catnc furnicar ;;
ESAC
# un cluster Beowulf; toate nodurile cu excepția nodului principal
# folosiți clase din clasa de fișiere/atomi
cazul $HOSTNAME în
atom00) echo BEOWULF_MASTER ;;
atom??) catnc atomi ;;
ESAC
# dacă gazda aparține subrețelei de clasă C 123.45.6.0, utilizați clasa NET_6
caz $IPADDR în
123.45.6.*) echo NET_6 ;;
ESAC
Alt exemplu:
Scenariul 24nis:
#! / Bin / sh
# adăugați NIS și numele de domeniu NIS dacă YPDOMAIN este definit
dacă [ -n "$YPDOMAIN" ];atunci
echo „NIS $YPDOMAIN” | tr /.az-/ /_A-Z_/
altfel
ecou NONIS
fi
Puteți defini clase pe linia de comandă a nucleului adăugând acest lucru la nucleu:
ADDCLASSES=CLASS1,LASX,CLASS3
NOTE
Toate numele claselor trebuie scrise cu litere mari (exceptând clasa numelui de gazdă).
Nu folosiți liniuță, folosiți un caracter de subliniere. Sunt utilizate numai scripturile executabile din DIRECTORY.
CLASSFILE este eliminat înainte de a scrie în el. Scripturile nu ar trebui să scrie direct în CLASSFILE.
LODGIR nu ar trebui să fie scris pentru toată lumea.
Utilizați fai-class online folosind serviciile onworks.net