ืืืื ืืืจ ืืขืคืื ืขื ืืขื ืืืึทื ืืื ืึท ืืืื, ืืืจ ืืืกืืึธืืข ืืจืืื ื ืฆื ืกืึธืืืืข ืึท ืคึผืจืึธืืืขื ืืื ืคืืืกื ืืืง ืืึทืฉ.
ืืึธืืขืจ ืืืื ืืึทืฉ ืกืืืืืืข ืืื ื ืืฉื ืืึทืฉืืขืืืงื ืึท ืกืืืืืืข ืืืึทืืขืืืืืง ืืื ืืืจ ืืึธื ื ืื ืคึฟืึทืจืฉืืืื ืืืึธืก. ืืืจ ืงืขื ืืึธืื ืกืืึทืง ืขืคึผืขืก ืืื ืคืึทืจืฉืืื ืืึทืฉ ืฉืืืืื ืืขืงืขืก ืึธืืขืจ ืคึผืจืึธืืคืืืื ืึธืืขืจ ืึทืืข ืืขืงืขืก ืืื ืืจืึทืค ืืื ืขืก ืืขืืจืืขื.
ืืื ืงืืื ืคืึทื, ืื ืคืื ื ืคืื ืืขื ืฆืขืื ืืื ืฆื ืฉืืขืื ืื ืคึผืจืึธืฆืขืืืจ ืคึฟืึทืจ ืกืืึทืจืืื ื ืืึทืฉ ืืื ืคึผืฉืื ืืื ืืขืืืขื ืึทืืื ืึทื ืืืจ ืงืขื ืขื ืืึทื ืืืขื ืืื ืคึผืจืึธืืืขืืก.
ืืืึทืืจืึทืืข
ืืขื ืคืืึธืืืืฉืึทืจื ืกืึทืืขืจืืืืื ืึทืืข ืื ืคึผืจืึทืกืขืกืึทื ืืืขื ืคืืืกื ืืืง ืืึทืฉ.
ืืืฆื ืืึธืืืจ ื ืขืืขื ืึท ื ืขืขื ืืขืจ ืงืืง ืืืึท ืืขืืขืจ ืืืื.
ืืึธืืื ืฉืขื?
ืขืจืฉืืขืจ ืืืจ ืืึทืจืคึฟื ืฆื ืงืืืึทืื ืฆื ืืืจ ืืขื ื ืืื ืื ืืึธืืื ืฉืึธื ืึธืืขืจ ื ืืฉื.
ืื ืืึธืืื ืฉืึธื ืืื ืืขืจ ืขืจืฉืืขืจ ืฉืึธื ืืืจ ืึทืจืืึทื ืืืขื ืืืจ ืงืืึธืฅ ืืื ืคึฟืึทืจ ืึท ืื ืืขืจืึทืงืืืื ืกืขืกืืข. ืื ืืึธืืื ืฉืึธื ืืื ื ืืฉื ืืึทืจืคื ืึท ื ืืืขื ืืื ืคึผืึทืจืึธื. ืืืจ ืงืขื ืขื ืฆืืืื ืืขื ืื ืืึธืืื ืฉืึธื ืฆื ืึธื ืืืืื ืืืจื ืึทืืื ื ืึท ืคืึธื --login
ืืืขื ืืขืจืืคื bash
, ืคึฟืึทืจ ืืืึทืฉืคึผืื:
bash --ืืึธืืื
ืื ืืึธืืื ืฉืึธื ืืึทืฉืืขืืืงื ืื ืืึทืืข ืกืืืืืืข ืืืขื ืืืจ ืขืจืฉืืขืจ ืึธื ืืืื ืื ืืึทืฉ ืฉืึธื.
ืื ืืขืจืึทืงืืืืืข?
ืืขืจื ืึธื ืืืจ ืืึทืฉืืืกื ืฆื ืื ืฉืึธื ืืื ืื ืืขืจืึทืงืืืื ืึธืืขืจ ื ืืฉื.
ืืขื ืงืขื ืขื ืืืื ืึธืคึผืืขืฉืืขืื ืืืจื ืืขื ืืืึทืืืึทื ืคืื ืื ืืืึทืืขืืืืืง PS1
(ืขืก ืื ืกืืึธืื ืื ืืึทืคึฟืขื ืึทืจืืึทื ืฉืจืืึทื ืคึฟืื ืงืฆืืข):
ืืืื ["${PS1-}"]; ืืขืืึธืื ืืืืืขืจืงืึธื ืื ืืขืจืึทืงืืืืืข ืึทื ืืขืจืฉ ืืืืืขืจืงืึธื ื ืื-ืื ืืขืจืึทืงืืืื ืคื
ืึธืืขืจ ืืขื ืืืื ืื ืึธืคึผืฆืืข ืืื ืืึทืฉืืืื -i
, ื ืืฆื ืึท ืกืคึผืขืฆืืขื ืืืคืขื ืืืึทืืขืืืืืง -
ืืื ืืึทืฉ, ืืืฉื:
$ืขืงืึธ$-
ืืืื ืขืก ืืื ืึท ืกืืืืึธื ืืื ืืขืจ ืจืขืืืืืึทื i
, ืืขืืึธืื ืื ืฉืึธื ืืื ืื ืืขืจืึทืงืืืื.
ืืื ืื ืืึธืืื ืฉืึธื?
ืืืื ืืืจ ืืขื ื ืืื ืึท ืืึธืืื ืฉืึธื, Bash ืงืืงื ืคึฟืึทืจ ืื ืืขืงืข /etc/profile
ืืื ืืืืคื ืืืื ืขืก ืืืืืกืฅ.
ืืขืจื ืึธื ืืืจ ืืืื ืคึฟืึทืจ ืงืืื ืคืื ืื ืืจืื ืืขืงืขืก ืืื ืื ืคืืืืขื ืืข ืกืืจ:
~/.ืืึทืฉ_ืคึผืจืึธืคืื ~/.ืืึทืฉ_ืืึธืืื ~/.ืคึผืจืึธืคืื
ืืืขื ืขืก ืืขืคืื ื ืืืื ืขืจ, ืขืก ืกืืึทืจืฅ ืขืก ืืื ืกืงืืคึผืก ืื ืื ืืขืจืข.
ืืื ืึทื ืื ืืขืจืึทืงืืืืืข ืฉืึธื?
ืืืื ืืืจ ืืขื ื ืืื ืึท ื ืื-ืืึธืืื ืฉืึธื, ืขืก ืืื ืื ืืขื ืืืขื ืึทื ืืืจ ืืึธื ืฉืืื ืืขืืืขื ืืื ืึท ืืึธืืื ืฉืึธื, ืื ืกืืืืืืข ืืื ืงืึทื ืคืืืืขืจื ืืื ืืืขื ืืืื ืื ืืขืจืึทืืื.
ืืื ืืขื ืคืึทื, ืื ืคืืืืขื ืืข ืฆืืืื ืืขืงืขืก ืืขื ืขื ืขืงืกืึทืงืืืืึทื ืืื ืกืืจ, ืืืื ืืื ืขืงืกืืกืืืจื:
/etc/bash.bashrc ~/.bashrc
ืงืืื ืึธืคึผืฆืืข?
ืืืื ืืืจ ืืขื ื ื ืืฉื ืืื ืึท ืืึธืืื ืฉืึธื ืึธืืขืจ ืึทื ืื ืืขืจืึทืงืืืื ืฉืึธื, ืืืื ืกืืืืืืข ืืืขื ืืึทืงืข ืืืื ืืืืืืง. ืืึธืก ื ืึท ืคึผืืึทืฅ ืคืื ืฆืขืืืฉืื ื (ืืขื ืืืืืืขืจ ืืืขืื ืงืจืึทื ืืืฉืึธืืก).
ืืื ืืขื ืคืึทื, ืืึทืฉ ืงืืงื ืืืืฃ ืื ืืืขืจืืึทืืึทืื BASH_ENV
ืืืื ืกืืืืืืข ืืื ืงืจืืืืฅ ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืืขืงืข ืกืคึผืขืกืืคืืขื ืืึธืจื.
ืคึผืจืึธืกื ืฉืืืขืจืืงืืืื ืืื ืึผืืืื ืคืื ืืจืึธืืขืจ ืคืื ืืขืจ
ืงืจืึธื ืืืฉืึธืืก
95% ืคืื ืื ืฆืืื ืืื ืืืืึทื ืืึทืฉ ืกืืึทืจืืึทืคึผ, ืืึธืก ืืื ืืืืึทื ืื ืงืจืึทื ืึทืจืืขื ืืื ื ืืฉื ืคืืืกื ืืืง ืืื ืืขืจืืืึทืจื.
ืืขื ืคืึทืจืฉืืืื ืึทืจืืขื ืึทืจืืขื ืืื ืืืขื ืืื ืืืืคื ืขืก ืืืืฃ ืื ืืึทืคึฟืขืื ืฉืืจื, ืึธืืขืจ ืคืืืื ืืืขื ืืื ืืืืคื ืขืก ืืื Crontab.
ืืึธ ืฆืืืื ืกืืืืช:
- Cron ืืืฉืึธืืก ืืขื ืขื ื ืืฉื ืื ืืขืจืึทืงืืืื.
- ื ืื ืขื ืืขื ืืึทืคึฟืขืื ืฉืืจื ืกืงืจืืคึผืก, Cron ืืืฉืึธืืก ืืึธื ื ืื ืืจืฉืขื ืขื ืื ืฉืึธื ืกืืืืืืข.
ืืืคึผืืงืึทืืื ืืืจ ืืืขื ื ืืฉื ืืึทืืขืจืงื ืึธืืขืจ ืืึธืจืื ืึทื ืึท ืฉืึธื ืฉืจืืคื ืืื ื ืืฉื ืื ืืขืจืึทืงืืืื ืืืืึทื ืื ืกืืืืืืข ืื ืืขืจืึทืฅ ืคืื ืื ืื ืืขืจืึทืงืืืื ืฉืึธื. ืืขื ืืืื ืึทื ืึทืืฅ PATH
ะธ alias
ืงืึทื ืคืืืืขืจื ืืื ืืืจ ืืืึธืื ืืขืจืืืึทืจืื.
ืืึธืก ืืื ืืืึธืก ืขืก ืืื ืึธืคื ื ืืืืืง ืฆื ืฉืืขืื ืึท ืกืคึผืขืฆืืคืืฉ PATH
ืคึฟืึทืจ ืึท ืงืจืึทื ืึทืจืืขื ืืื ืืึธ:
* * * * * PATH=${PATH}:/path/to/my/program/folder myprogram
ืกืงืจืืคึผืก ืจืืคื ืืขืืขืจ ืื ืืขืจืขืจ
ืื ืื ืืขืจ ืคึผืจืึธืกื ืคึผืจืึธืืืขื ืืื ืืืขื ืกืงืจืืคึผืก ืืขื ืขื ืืขืืช ืงืึทื ืคืืืืขืจื ืฆื ืจืืคื ืืขืืขืจ ืื ืืขืจืขืจ. ืืืฉื, /etc/profile
ืจืขืคืขืจืก ืฆื ~/.bashrc
.
ืืขื ืืืืฉืึทืืืึทืื ืืึทืคึผืึทื ื ืืืขื ืขืืขืฆืขืจ ืืขืคืจืืืื ืฆื ืคืึทืจืจืืืื ืขืืืขืืข ืืขืืช ืืื ืึทืืฅ ืกืืื ืฆื ืึทืจืืขืื. ืฆืื ืืึทืืืืขืจื, ืืืขื ืืืจ ืืึทืจืคึฟื ืฆื ืฆืขืืืืื ืื ืคืึทืจืฉืืืขื ืข ืืืืคึผืก ืคืื ืกืขืฉืึทื ื, ื ืืึท ืคึผืจืึธืืืขืืก ืืืืคืฉืืืื.
ืกืึทื ืืืึธืงืกืขื ืืึธืงืงืขืจ ืืืื
ืฆื ืขืงืกืคึผืขืจืืืขื ื ืืื ืคืืืกื ืืืง ืึท ืฉืึธื, ืืื ืืืฉืืคื ืึท ืืึธืงืขืจ ืืืื ืืืึธืก ืงืขื ืขื ืืืื ืืขืืืืื ื ืฆื ืืืืึทืืื ื ืึท ืฉืึธื ืืื ืึท ืืืืขืจ ืกืืืืืืข.
ืืึธื ืืฉ:
$ docker run -n bs -d imiell/bash_startup
$ docker exec -ti bs bash
Dockerfile ืืื ืืืื
ืฆื ืฆืืืื ืืขื ืืึธืืื ืืื ืกืืืืืืจื ืึท ืืึธืืื ืฉืึธื:
$ bash --login
ืฆื ืคึผืจืืืืจื ืึท ืืึทื ื ืคืื ืืืขืจืืึทืืึทืื BASH_ENV
:
$ env | grep BASH_ENV
ืคึฟืึทืจ ืืืืึทืืื ื crontab
ืึท ืคึผืฉืื ืฉืจืืคื ืืืขื ืืืื ืขืงืกืึทืงืืืืึทื ืืขืืขืจ ืืื ืื (ืืื /root/ascript
):
$ crontab -l
$ cat /var/log/script.log
ืืงืืจ: www.habr.com