Haeba u fumane leqephe lena ha u batlisisa, mohlomong u leka ho rarolla bothata bo itseng ka ho sebelisa bash.
Mohlomong tikoloho ea hau ea bash ha e behe tikoloho e fapaneng 'me ha u utloisise hore na ke hobane'ng. E kanna eaba u kentse ho hong ho lifaele tse fapaneng tsa bash boot kapa liprofaele kapa lifaele tsohle ka tšohanyetso ho fihlela e sebetsa.
Leha ho le joalo, ntlha ea lengolo lena ke ho beha mokhoa oa ho qala bash ka hohle kamoo ho ka khonehang e le hore u ka sebetsana le mathata.
Setšoantšo se Qanollang
Flowchart ena e akaretsa lits'ebetso tsohle ha o sebetsa bash.
Joale a re hlahlobeng karolo ka 'ngoe.
Kena ho Shell?
Pele u lokela ho khetha hore na u ka khetla ea ho kena kapa che.
Khetla ea ho kena ke khetla ea pele eo u e kenyang ha u kena bakeng sa kopano e kopanetsoeng. Khetla ea ho kena ha e hloke lebitso la mosebelisi le password. O ka qobella khetla ea ho kena ho qala ka ho eketsa folakha --login
ha a bitsoa bash
mohlala:
bash --kena
Khetla ea ho kena e theha tikoloho ea motheo ha o qala khetla ea bash.
Interactive?
Ebe u etsa qeto ea hore na khetla e sebelisana kapa che.
Sena se ka hlahlojoa ka boteng ba ho fetoha PS1
(e kenya mosebetsi oa ho kenya taelo):
haeba ["${PS1-}"]; ebe echo interactive else echo non-interactive fi
Kapa bona hore na khetho e setiloe -i
, ka ho sebelisa phapano e khethehileng ea mothapo -
ka bash, mohlala:
$echo$-
Haeba ho na le letšoao ho tlhahiso i
, joale khetla e sebelisana.
Ka khetla ea ho kena?
Haeba u ka har'a khetla ea ho kena, joale bash e batla faele /etc/profile
mme e sebetsa haeba e le teng.
Ebe u batla e 'ngoe ea lifaele tsena tse tharo ka tatellano e latelang:
~/.bash_profile ~/.bash_login ~/.profile
Ha e fumana e le nngwe, e a e qala ebe e tlola tse ding.
Ka khetla e sebelisanang?
Haeba u le ka har'a khetla e sa keneng, ho nahanoa hore u se u ntse u le ka har'a khetla ea ho kena, tikoloho e hlophisitsoe 'me e tla rua lefa.
Tabeng ena, lifaele tse peli tse latelang li etsoa ka tatellano, haeba li le teng:
/etc/bash.bashrc ~/.bashrc
Ha ho khetho?
Haeba u se ka har'a khetla ea ho kena kapa khetla e sebetsanang, joale tikoloho ea hau e tla be e se na letho. Sena se baka pherekano e ngata (sheba ka tlase mabapi le mesebetsi ea cron).
Tabeng ena bash e sheba ho feto-fetoha BASH_ENV
tikoloho ea hau mme e theha faele e lumellanang e boletsoeng moo.
Mathata a Tloaelehileng le Melao ea Monoana
mesebetsi ea cron
95% ea nako eo ke lokisang bash ho qala ke hobane mosebetsi oa cron ha o sebetse kamoo ho neng ho lebelletsoe.
Mosebetsi o boima ona e sebetsa hantle ha ke e tsamaisa moleng oa taelo, empa e hloleha ha ke e tsamaisa ka crontab.
ke mabaka a mabeli:
- Mesebetsi ea Cron ha e sebelisane.
- Ho fapana le mangolo a taelo ea litaelo, cron jobs ha e rue tikoloho ea khetla.
Ka tloaelo u ke ke ua hlokomela kapa ua tsotella hore script ea khetla ha e sebelisane hobane tikoloho e rua ho tsoa ho khetla e sebetsanang. Sena se bolela hore tsohle PATH
и alias
hlophisitsoe kamoo u neng u ka lebella.
Ke ka lebaka leo hangata ho hlokahalang ho beha e itseng PATH
bakeng sa mosebetsi oa cron joalo ka mona:
* * * * * PATH=${PATH}:/path/to/my/program/fold myprogram
Mangolo a bitsana
Bothata bo bong bo atileng ke ha lingoloa li hlophisoa ka phoso ho bitsana. Ka mohlala, /etc/profile
boipiletso ho ~/.bashrc
.
Hangata sena se etsahala ha motho e mong a leka ho lokisa phoso e itseng 'me ntho e 'ngoe le e 'ngoe e bonahala e sebetsa. Ka bomalimabe, ha o hloka ho arola mefuta ena e fapaneng ea mananeo, mathata a macha a hlaha.
Setšoantšo sa Sandboxed Docker
Ho leka ho sebelisa khetla, ke thehile setšoantšo sa Docker se ka sebelisoang ho lokisa khetla sebakeng se sireletsehileng.
Qala:
$ docker run -n bs -d imiell/bash_startup
$ docker exec -ti bs bash
Dockerfile e teng
Ho qobella ho kena le ho etsisa khetla ea ho kena:
$ bash --login
Ho leka sehlopha sa lintho tse fapaneng BASH_ENV
:
$ env | grep BASH_ENV
Bakeng sa ho lokisa liphoso crontab
script e bonolo e tla etsoa motsotso o mong le o mong (in /root/ascript
):
$ crontab -l
$ cat /var/log/script.log
Source: www.habr.com