Kumhanya Bash zvakadzama

Kana iwe wakawana peji rino mukutsvaga, ungangove uri kuedza kugadzirisa imwe mhando ye bash yekutanga dambudziko.

Pamwe yako bash nharaunda haisi kuseta nharaunda inoshanduka uye haunzwisise kuti sei. Iwe unogona kunge wakanamatira chimwe chinhu muakasiyana bash boot mafaera kana maprofile kana mafaera ese zvisina tsarukano kusvika zvashanda.

Chero zvazvingaitika, poindi yeiyi positi kuita bash kutanga kuve nyore sezvinobvira kuitira kuti ugone kubata nematambudziko.

Dhayagiramu

Iyi flowchart inopfupisa maitiro ese kana bash inotanga.

Kumhanya Bash zvakadzama

Zvino ngatitarisei zvakanyanya chikamu chimwe nechimwe.

login shell?

Kutanga iwe unofanirwa kusarudza kana iwe uri mu login shell kana kwete.

Iyo goko rekupinda ndiro goko rekutanga raunopinda kana iwe uchipinda muchikamu chinopindirana. Iyo login shell haidi zita rekushandisa uye password. Unogona kumanikidza login shell kuti itange nekuwedzera mureza --login kana adanwa bash, somuenzaniso:

bash --login

Iyo yekupinda shell inomisa iyo base nharaunda kekutanga paunotanga bash shell.

Interactive?

Wobva waona kuti goko riri kupindirana here kana kuti kwete.

Izvi zvinogona kuongororwa nekuvapo kwekusiyana PS1 (inoisa basa rekuisa rekuraira):

kana ["${PS1-}"]; wobva waita maungira anopindirana zvimwe echo non-interactive fi

Kana kuti ona kana sarudzo yaiswa -i, uchishandisa chinosiyana-siyana chehyphen - mu bash, semuenzaniso:

$echo $-

Kana pane chiratidzo mune zvakabuda i, ipapo goko rinopindirana.

Mune ganda rekupinda?

Kana iwe uri mugomba rekupinda, saka bash inotarisa iyo faira /etc/profile uye inomhanya kana iripo.

Inobva yatsvaga chero yeaya mafaera matatu nenzira inotevera:

~/.bash_profile ~/.bash_login ~/.profile

Kana yawana imwe, inoivhura yosvetuka dzimwe.

Mugoko rinopindirana?

Kana iwe uri mune inopindirana isiri-login shell, inofungidzirwa kuti wanga watove mugomba rekupinda, nharaunda inomiswa uye ichagarwa nhaka.

Muchiitiko ichi, mafaera maviri anotevera anoitwa muhurongwa, kana aripo:

/etc/bash.bashrc ~/.bashrc

Hapana sarudzo?

Kana usiri mugomba rekupinda kana mugoko rinopindirana, ipapo nharaunda yako ichave isina chinhu. Izvi zvinokonzera kuvhiringidzika kwakawanda (ona pazasi kune cron mabasa).

Muchiitiko ichi, bash inotarisa kushanduka BASH_ENV nharaunda yako uye inogadzira iyo yakakodzera faira inotsanangurwa ipapo.

Matambudziko akajairika uye mitemo yezvigunwe

cron mabasa

95% ye bash yangu yekutanga debugging inokonzerwa nebasa re cron risingashande sezvaitarisirwa.

Basa guru iri inoshanda zvakanaka pandinoimhanyisa kubva kumutsara wekuraira, asi inotadza pandinoimhanyisa kubva kucrontab.

zviri zvikonzero zviviri:

  • cron mabasa haadyidzane.
  • Kusiyana nekuraira mutsara scripting, cron mabasa haagari nhaka yeganda.

Iwe kazhinji haucherechedzi kana kuita hanya kuti chinyorwa chegoko hachidyidzane nekuti nharaunda yakagara nhaka kubva kune inodyidzana goko. Izvi zvinoreva kuti zvose PATH ΠΈ alias configured sezvaungatarisira.

Ndicho chikonzero nei kazhinji zvichidikanwa kumisa chaiyo PATH kune cron basa rakadai:

* * * * * PATH=${PATH}:/nzira/ku/yangu/program/folder myprogram

Scripts vachidaidzana

Rimwe dambudziko rinowanzoitika nderokuti zvinyorwa zvinoiswa zvisirizvo kuti zvidanane. Semuyenzaniso, /etc/profile zvikumbiro ku ~/.bashrc.

Izvi zvinowanzoitika kana mumwe munhu akaedza kugadzirisa imwe mhando yekukanganisa uye zvese zvaiita kunge zvinoshanda. Nehurombo, kana zvasvika pakuparadzanisa marudzi akasiyana emisangano, matambudziko matsva anomuka.

Docker mufananidzo mubhokisi rejecha

Kuedza kutanga ganda, ndakagadzira mufananidzo weDocker unogona kushandiswa kugadzirisa ganda rekutanga munzvimbo yakachengeteka.

Launch:

$ docker run -n bs -d imiell/bash_startup
$ docker exec -ti bs bash

Dockerfile inowanikwa pano.

Kumanikidza kupinda uye kutevedzera ganda rekupinda:

$ bash --login

Kuedza seti yezvinosiyana BASH_ENV:

$ env | grep BASH_ENV

Zvekugadzirisa crontab script iri nyore ichaitwa miniti yega yega (in /root/ascript):

$ crontab -l
$ cat /var/log/script.log

Source: www.habr.com

Voeg