Shema je osnovno sučelje za unos naredbi na Linux sustav. Pomoću nje možete izravno unijeti naredbu ili odrediti datoteku (skriptu) koja sadrži niz naredbi koje treba izvršiti. Shellovi su organizirani u hijerarhiji, a svaka ljuska može stvoriti novu ljusku. Nova školjka smatra se procesom djeteta - podgrupe - matične ljuske koja ga stvara.
Prema zadanim postavkama, podskup podrazumijeva njegov roditelj u smislu da ako završi roditeljski proces, podružnica se također prekida. Bilo koji izlaz premješten je iz podgrupe na glavnu ljusku.
Kako stvoriti Subshell
U skripti skupa Bash kreirajte podrume pomoću zaglavlja zagrade:
U primjeru, petlja je zatvorena u zagradama, što uzrokuje da se izvršava u podskupu ljuske u kojoj se izvršava skripta.
Pokretanje Subshell u pozadini
Ako ne odredite da se podrhtavanje mora izvršiti u pozadini, matična školjka čeka nastavak završetka prije nastavka s ostatkom skripte. Međutim, ako želite paralelno pokrenuti podgrupe, pokrenite ih u pozadini, što se postiže znakom i znakom koji slijedi izraz iz podgrupa, kako je prikazano ovdje:
Pokretanje višestrukih pretplata u paralelnom
Ako stvorite više pretplata kao pozadinske procese, možete pokrenuti zadatke paralelno. Tipično, operacijski sustav koristi različite procesore ili jezgre za svaki proces i podproces, uz pretpostavku da ima barem onoliko procesora ili jezgri, kao što postoje procesi. Inače, zadatci se dodjeljuju istim procesorima ili jezgrama. U tom slučaju, procesor ili jezgra kontinuirano se prebacuje između dodijeljenih zadataka dok se zadaci ne dovrše. Sljedeći primjer ima dva podprocesa. Prvi broji od 1 do 99, a drugi od 1000 do 1099.
Upotrijebite čekanje da biste roditelju pričekali da završi s podprocesom prije nastavka s ostatkom skripte:
Koristi za Subshells
Subshells su korisni kada se naredbe moraju izvršiti u određenom okruženju ili direktoriju. Ako se svaka naredba izvodi u različitoj podgrupi, nema rizika da će se promjenjive postavke miješati. Po završetku, postavke i trenutni direktorij ne moraju biti vraćeni jer okoliš nadređenog procesa ne utječe ni u jednom od njegovih podprocesa.
Subshells se mogu koristiti u definicijama funkcija, tako da se mogu izvršiti više puta s različitim parametrima.