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.
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
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