Kawm Yuav Ua Li Cas thiaj Siv Tau Cov Zaj Dab Tsi Siv Cov Ntawv Sau Tseg

Yuav Qhia Dab Tsi Li Cas Rau Kev Khiav Mus Ncig Mus Hauv Qhov Nruab Nrab

Lub plhaub yog ib qho yooj yim interface rau kev nkag mus rau hauv lub tshuab Linux. Nrog nws, koj tuaj yeem nkag mus rau ib qho kev qhia ncaj nraim los sis hais kom meej cov ntaub ntawv (tsab ntawv) uas muaj cov lus txib ntawm cov lus txib tseg. Plhaub zoo ibyam hauv lub hierarchy, thiab txhua lub plhaub yuav tsim tau lub plhaub tshiab. Plhaub tshiab yog xam cov txheej txheem rau me nyuam-tus subshell-ntawm tus niam txiv plhaub uas tsim nws.

Yog lub neej ua ntej, tus subshell yog nyob ntawm nws niam nws txiv ntawm qhov kev txiav txim siab yog tias niam txiv txoj kev ua tiav lawm, lub subshell kuj xaus. Ib qho zis twg kis ntawm tus subshell rau tus niam txiv plhaub.

Yuav Tsim Ib Qho Chaw Zej Zog

Hauv Bash tus plhaub tsab ntawv, koj tsim ib qho subshell siv cov cim qhia txog parenthesis:

Ua ntej pib subshell "(suav = 1 thaum [$ suav-99] ua ntsuas" $ suav "pw 1 ((suav ++)) ua tiav) echo" Finished "

Nyob rau hauv qhov ua piv txwv, thaum lub voj nyob nrog hauv parenthesis, uas ua rau nws yuav tsum tau sau rau hauv ib lub subshell ntawm lub plhaub uas cov ntaub ntawv sau tseg.

Khiav Lub Subshell nyob hauv keeb kwm yav dhau

Tshwj tsis yog tias koj hais tias lub subshell yuav tsum tau muab tua nyob rau hauv keeb kwm yav dhau, tus niam txiv plhaw tos rau lub subshell kom tiav ua ntej txuas ntxiv nrog tsab ntawv. Txawm li cas los xij, yog tias koj xav khiav subshells nyob mus tib seem, koj khiav lawv nyob hauv keeb kwm yav dhau, uas ua tiav nrog lub cim thiab tus cim ua raws li subshell qhia, raws li qhia ntawm no:

#! / bin / bash echo "Ua ntej pib subshell" (suav = 1 thaum [$ suav-99] ua ntsuas "$ suav" pw 1 ((suav ++)) Teb zoo! & ncha "Finished"

Khiav ntawm ntau lub Subshells nyob rau hauv Parallel

Yog hais tias koj tsim ntau subshell li keeb kwm yav dhau, koj tuaj yeem khiav cov haujlwm nyob rau hauv parallel. Feem ntau, cov kev khiav hauj lwm yuav siv ntau hom kev lag luam los yog cov cores rau txhua txoj kev thiab cov khoom siv, yog tias muaj tsawg kawg li ntau lub chaw lag luam los yog cov qhab nia raws li muaj cov txheej txheem. Txwv tsis pub, cov haujlwm yog muab rau tib tus txheej txheem lossis cov cores. Ua li ntawd, tus processor los yog cov tub ntxhais kawm tsis tu ncua ntawm cov haujlwm uas tau muab xa mus txog rau thaum cov haujlwm tiav. Tus piv txwv tom ntej no muaj ob txoj haujlwm. Tus thawj tug suav los ntawm 1 txog 99, thiab qhov thib ob ntawm 1000 txog 1099.

#! / bin / bash ncha "Ua ntej pib subshell" (suav = 1 thaum [$ suav-99] ua ntsuas "$ suav" pw 1 ((suav ++))) & suav (1000 = 1000 thaum [$ suav -le 1099] ua echo "$ suav" pw 1 ((suav ++)) & ncha "Finished"

Siv cov lus ceeb toom qhia rau niam txiv txoj kev taug kom tos cov haujlwm ua haujlwm tiav kom tiav ua ntej pib ua cov ntawv tas:

#! / bin / bash ncha "Ua ntej pib subshell" (suav = 1 thaum [$ suav-99] ua ntsuas "$ suav" pw 1 ((suav ++))) & suav (1000 = 1000 thaum [$ suav -le 1099] ua echo "$ suav" pw tsaug zog 1 ((suav ++)) & tos echo "Finished"

Siv rau Subshells

Subshells muaj txiaj ntsim thaum commands yuav tsum tau tseg rau hauv ib cheeb tsam los sis directory. Yog txhua qhov kev hais kom ua nyob rau hauv ib qho kev sib txawv hauv subshell, yuav tsis muaj qhov teeb meem uas txawv txav yuav tsum sib xyaw. Ntawm qhov ua tiav, cov chaw thiab cov npe tam sim no tsis tas yuav rov qab los dua, raws li qhov chaw ntawm niam txiv txoj kev taug tsis raug cuam tshuam los ntawm ib qho ntawm nws cov khoom siv.

Subshells tuaj yeem siv rau hauv kev txhais cov ntsiab lus kom lawv tuaj yeem raug tua ntau zaus nrog cov tsis txawv.