Lucrând într-o companie mare, mi sa cerut să copiez un fișier de 1 MB la mașini la distanță care rulează Windows XP Pro.
Totul ar fi bine daca nu era vorba de numarul de PC-uri la care fisierul trebuia copiat. Au fost aproximativ 800 dintre ei! Vestea bună a fost că pe toate PC-urile au existat setări identice, adică pe fiecare PC a fost înregistrat un utilizator cu drepturi de administrator și accesul la discuri prin rețea a fost permis. Am un laptop de lucru cu Xubuntu 10.4 instalat și m-am gândit să-l folosesc, deoarece am citit și auzit despre scripturile Linux de multe ori și nu mi-am scris niciodată.
Privind prin posibilele opțiuni din capul meu, am respins imediat ultima opțiune prin instalarea directorului de rețea, pentru că am dorit o ușurință și versatilitate. După consultarea IRC pe canalul # ubuntu-ru, mi sa cerut să folosesc smbclient. Așa am făcut.
În primul rând, m-am uitat la sintaxa smbclient.
M-am interesat de opțiunile -U și -c. Parametrul -U transmite numele de utilizator din care vom efectua acțiunile. În opțiunea -c, este trecut un șir constând din comenzile lui smbclient #, separate de un caracter ";". După ce am jucat un pic cu opțiuni diferite, am găsit propria mea versiune:
Având puțin timp și o mare dorință de a învăța cum să lucrați cu scripturi, am început să stăpânesc "Bash-scripting". După ce am analizat exemplele, am selectat imediat variabilele pentru claritate.
În cazul meu, acesta este:
Apoi, am arătat manualul Bash-scripting, am găsit cum să citesc linii dintr-un fișier, ceea ce mi-a permis să editez lista de gazde, indiferent de scriptul principal:
În loc să afișez, am înlocuit comanda smbclient cu argumente.
În timpul acestui ciclu, am constatat că ultima linie din fișier este citită, dar nu este utilizată. Din cauza termenelor limită strânse, am decis să adaug o linie și să scriu o valoare arbitrară în ea.
Ca rezultat, am ajuns la această opțiune, în care argumentele sunt transmise din variabile:
Sper că acest ghid își va găsi cititorul și va ajuta să obțineți prima experiență în scrierea lui Bash-Script #, cum ma ajutat.