Si hanc paginam in investigatione invenisti, probabiliter aliquod problema cum vercundus es solvere conatur.
Forsitan tua vercundus ambitus non variabilem ambitum ponens et cur non intellegis. Aliquid in variis fasciculis vel involucris vel involucris vel in omnibus fasciculis temere adhaesisse licet donec operaretur.
Utcumque, punctum huius notae est modum procedendi ad vercundus quam simpliciter quam maxime ut problemata tractare possis.
diagram
Hoc Flowchart epilogat omnes processus cum vercundus currit.
Nunc propius inspiciamus singulas partes.
Login Testa?
Primum eligere debes utrum in testa login sis necne.
Testa login est prima testa quam intras cum conventum aperis pro sessione interactiva. Testa login usoris et tesseram non requirit. Te potest opprimere login ut satus a vexillum addendo --login
cum dicitur bash
For example:
vercundus --login
Testa login in ambitu basis erigit cum primum testam vercundus inmittit.
Interactive?
Deinde utrum putamen interactivum sit necne.
Hoc inhiberi potest a praesentia variabilis PS1
(input munus inaugurat imperium);
si ["${PS1-}" ]; tum resonare interactive aliud resonare non-interactive fi
Vel vide an optio constituatur -i
, speciali hyphen variabilis -
in bash, exempli gratia;
$ Resonare $ -
Si symbolum est in output i
ergo concha interactive.
In testam login?
Si in testam login es, tunc vercundus tabellam quaerit /etc/profile
et fugit si est.
Tunc exquirit quaelibet horum trium fasciculorum hoc ordine:
~/.bash_profile ~/.bash_login ~/.profile
Cum invenit unam, incipit et saltat alios.
In testudine interactive?
Si in putamine non-logino es, ponatur te iam in concha login fuisse, ambitus configuratus et haereditas erit.
Hoc in casu, duo scrinia sequentia ordine exsecuta sunt, si sunt;
/etc/bash.bashrc ~/.bashrc
Nulla optio?
Si neque in testam login neque in testam interactive es, tunc ambitus tuus vacuus erit. Hoc multum confusionis causat (vide infra de jobs cron).
In hoc casu vercundus aspectus variabilis BASH_ENV
tuum environment et file creatum ibi designatum efficit.
Communes difficultates ac Regulas Pollicis
cron jobs
95% of the time I debug bash startup it's because the cron job is not running as expected.
Hoc negotium dampnas bene operatur cum illud in linea praecepti curro, sed deficit cum curro in crontab.
est duas causas:
- Cron jobs non sunt interactive.
- Dissimile mandatum lineae scriptorum, jobs cron non possident testam ambitum.
Typice non animadvertes nec curabis concham scripturam non interactive quia ambitus concha interactive hereditat. Hoc significat omnia PATH
ΠΈ alias
figuram ut credas.
Inde est, quod saepe necesse est ponere rationem specificam PATH
quasi hic pro cron;
* * * * * PATH=${PATH}:/iter/ad/my/programma/folder myprogramma.
Scriptor se vocantem
Alia quaestio vulgaris est, cum falso conformantur scripta ad se invicem vocare. Exempli gratia /etc/profile
refertur ad ~/.bashrc
.
Hoc autem fieri solet, cum aliquis errorem aliquem figere conatus est, et omnia videbantur laborare. Infeliciter, cum has varias sessionum genera separare debes, novae difficultates oriuntur.
Sandboxed Docker imaginem
Ad experimentum cum concha currens, imaginem Docker creavi quae ad debug concha in ambitu securo adhiberi potest.
Lorem:
$ docker run -n bs -d imiell/bash_startup
$ docker exec -ti bs bash
Dockerfile sita est
Ad vim login et simulare testam login:
$ bash --login
Statuto temptare variabilium BASH_ENV
:
$ env | grep BASH_ENV
Nam debugging crontab
vir simplex scriptum erit supplicium omni momento (in- /root/ascript
):
$ crontab -l
$ cat /var/log/script.log
Source: www.habr.com