Mena i kitea e koe tenei wharangi i roto i te rapunga, kei te ngana pea koe ki te whakaoti rapanga ki te rere bash.
Kaore pea to taiao bash e whakatakoto ana i te taurangi taiao a kaore koe e mohio he aha. Kua mau pea koe i tetahi mea i roto i nga momo konae boot bash, i nga konae korero ranei, i nga konae katoa ranei i te matapōkere tae noa ki te mahi.
Ahakoa he aha, ko te kaupapa o tenei tuhipoka ko te whakatakoto i nga tikanga mo te tiimata i te bash kia taea ai e koe nga raru.
Hoahoa
Ka whakarāpopotohia e tēnei tūtohi rerenga ngā tukanga katoa i te wā e whakahaere ana i te bash.
Inaianei ka ata titiro tatou ki ia wahanga.
Takiuru Anga?
Tuatahi me whiriwhiri koe mehemea kei roto koe i te anga takiuru, kaore ranei.
Ko te anga takiuru ko te anga tuatahi ka uru koe ina takiuru koe mo tetahi huihuinga tauwhitiwhiti. Ko te anga takiuru kaore e hiahiatia he ingoa kaiwhakamahi me te kupuhipa. Ka taea e koe te akiaki i te anga takiuru kia timata ma te taapiri haki --login
ina karangahia bash
, hei tauira:
bash --takiuru
Ko te anga takiuru ka whakarite i te taiao turanga ina timata koe i te anga bash.
Pāhekoheko?
Ka whakatau koe mena he tauwhitiwhiti te anga, kaore ranei.
Ka taea te tirotiro i te aroaro o te taurangi PS1
(ka whakauruhia te mahi whakauru whakahau):
ki te [ "${PS1-}" ]; katahi ka paoro tauwhitiwhiti atu ka paoro te fi kore-whakawhitiwhiti
Tirohia ranei mehemea kua whakaritea te whiringa -i
, ma te whakamahi i tetahi taurangi tohuhono motuhake -
i roto i te bash, hei tauira:
$echo$-
Mena he tohu kei roto i te putanga i
, katahi ka tauwhitiwhiti te anga.
I roto i te anga takiuru?
Mena kei roto koe i te anga takiuru, ka rapua e bash te konae /etc/profile
ka rere mena kei te noho.
Na ka rapu i tetahi o enei kōnae e toru i roto i te raupapa e whai ake nei:
~/.bash_profile ~/.bash_login ~/.profile
Ka kitea tetahi, ka timata, ka pekehia etahi atu.
I roto i te anga tauwhitiwhiti?
Mena kei roto koe i te anga takiuru-kore, ka whakaarohia kua uru koe ki roto i te anga takiuru, kua whirihorahia te taiao, ka tuku iho.
I tenei take, ka mahia nga konae e rua e whai ake nei, mena kei te noho tonu:
/etc/bash.bashrc ~/.bashrc
Kaore he whiringa?
Mena karekau koe i roto i te anga takiuru, i te anga tauwhitiwhiti ranei, ka noho putua to taiao. Na tenei ka nui te raruraru (tirohia i raro mo nga mahi cron).
I tenei keehi ka titiro a bash ki te taurangi BASH_ENV
to taiao me te hanga i te konae e rite ana kua tohua ki reira.
Nga uauatanga noa me nga ture o te koromatua
mahi cron
95% o te wa ka whakakorehia e au te tiimata o te bash na te mea kaore te mahi cron i te mahi pera i te tumanako.
Tenei mahi kino he pai te mahi ina rere ana ahau i runga i te raina whakahau, engari ka rahua ina whakahaere ahau i roto i te crontab.
ko te reira e rua nga take:
- Ko nga mahi Cron kaore i te tauwhitiwhiti.
- Kaore i rite ki nga tuhinga raina whakahau, kaore nga mahi cron e tuku i te taiao anga.
I te nuinga o te wa kare koe e aro, karekau ranei e tauwhitiwhiti te tuhinga anga na te mea ka tuku iho te taiao i te anga tauwhitiwhiti. Ko te tikanga ko nga mea katoa PATH
и alias
whirihorahia kia rite ki taau e tumanako ana.
Koinei te take e tika ana ki te whakarite i tetahi waahanga motuhake PATH
mo tetahi mahi cron penei i konei:
* * * * * PATH=${PATH}:/path/to/my/program/folder myprogram
Ko nga tuhinga e karanga ana tetahi ki tetahi
Ko tetahi atu raruraru noa ko te pohehe te whirihora o nga tuhinga ki te waea tetahi ki tetahi. Hei tauira, /etc/profile
e tohu ana ki ~/.bashrc
.
Ka puta tenei i te wa i ngana ai te tangata ki te whakatika i etahi hapa ka ahua pai nga mea katoa. Kia aroha mai, ka hiahia koe ki te wehe i enei momo waahi, ka ara ake nga raru hou.
Atahanga Sandboxed Docker
Hei whakamatautau ki te whakahaere i te anga, i hanga e ahau he ahua Docker ka taea te whakamahi hei patuiro i te whakahaere anga i roto i te taiao haumaru.
Whakarewa:
$ docker run -n bs -d imiell/bash_startup
$ docker exec -ti bs bash
Kei te Dockerfile
Hei akiaki i te takiuru me te whakatairite i te anga takiuru:
$ bash --login
Hei whakamatautau i te huinga taurangi BASH_ENV
:
$ env | grep BASH_ENV
Mo te patuiro crontab
ia meneti ka mahia he tuhinga ngawari (in /root/ascript
):
$ crontab -l
$ cat /var/log/script.log
Source: will.com