Running Bash แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ˜แƒžแƒแƒ•แƒ”แƒ— แƒ”แƒก แƒ’แƒ•แƒ”แƒ แƒ“แƒ˜ แƒซแƒ˜แƒ”แƒ‘แƒแƒจแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒšแƒ‘แƒแƒ— แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ— แƒ’แƒแƒ“แƒแƒญแƒ แƒแƒ— แƒ’แƒแƒ แƒ™แƒ•แƒ”แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ แƒ‘แƒแƒจแƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒแƒกแƒ—แƒแƒœ แƒ“แƒแƒ™แƒแƒ•แƒจแƒ˜แƒ แƒ”แƒ‘แƒ˜แƒ—.

แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ, แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ bash แƒ’แƒแƒ แƒ”แƒ›แƒ แƒแƒ  แƒแƒ“แƒ’แƒ”แƒœแƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒก แƒชแƒ•แƒšแƒแƒ“แƒก แƒ“แƒ แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒ’แƒ”แƒกแƒ›แƒ˜แƒ— แƒ แƒแƒขแƒแƒ›. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ“แƒแƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ— แƒ แƒแƒฆแƒแƒช แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ bash boot แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒแƒœ แƒžแƒ แƒแƒคแƒ˜แƒšแƒจแƒ˜ แƒแƒœ แƒงแƒ•แƒ”แƒšแƒ แƒคแƒแƒ˜แƒšแƒจแƒ˜ แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ˜แƒ—, แƒกแƒแƒœแƒแƒ› แƒ˜แƒก แƒแƒ  แƒ˜แƒ›แƒฃแƒจแƒแƒ•แƒ”แƒ‘แƒ“แƒ.

แƒœแƒ”แƒ‘แƒ˜แƒกแƒ›แƒ˜แƒ”แƒ  แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒแƒ› แƒฉแƒแƒœแƒแƒฌแƒ”แƒ แƒ˜แƒก แƒ›แƒ˜แƒ–แƒแƒœแƒ˜แƒ แƒ‘แƒแƒจแƒ˜แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ‘แƒ˜แƒก แƒžแƒ แƒแƒชแƒ”แƒ“แƒฃแƒ แƒ˜แƒก แƒ“แƒแƒ“แƒ’แƒ”แƒœแƒ แƒ แƒแƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒแƒ“, แƒ แƒแƒ—แƒ แƒจแƒ”แƒซแƒšแƒแƒ— แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜แƒก แƒ›แƒแƒ’แƒ•แƒแƒ แƒ”แƒ‘แƒ.

แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ

แƒ”แƒก แƒ“แƒ˜แƒแƒ’แƒ แƒแƒ›แƒ แƒแƒฏแƒแƒ›แƒ”แƒ‘แƒก แƒงแƒ•แƒ”แƒšแƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒก bash-แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒกแƒแƒก.

Running Bash แƒ“แƒ”แƒขแƒแƒšแƒฃแƒ แƒแƒ“

แƒแƒฎแƒšแƒ แƒ›แƒแƒ“แƒ˜แƒ— แƒฃแƒคแƒ แƒ แƒแƒฎแƒšแƒแƒก แƒ›แƒ˜แƒ•แƒฎแƒ”แƒ“แƒแƒ— แƒ—แƒ˜แƒ—แƒแƒ”แƒฃแƒš แƒœแƒแƒฌแƒ˜แƒšแƒก.

แƒจแƒ”แƒกแƒ•แƒšแƒ Shell?

แƒฏแƒ”แƒ  แƒฃแƒœแƒ“แƒ แƒแƒ˜แƒ แƒฉแƒ˜แƒแƒ— แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒญแƒฃแƒ แƒ•แƒ˜แƒจแƒ˜ แƒฎแƒแƒ แƒ— แƒ—แƒฃ แƒแƒ แƒ.

แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒกแƒ˜ แƒแƒ แƒ˜แƒก แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒ˜ แƒ’แƒแƒ แƒกแƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒกแƒแƒช แƒจแƒ”แƒ“แƒ˜แƒฎแƒแƒ แƒ— แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒกแƒ”แƒกแƒ˜แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒกแƒแƒก. แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒกแƒ˜ แƒแƒ  แƒกแƒแƒญแƒ˜แƒ แƒแƒ”แƒ‘แƒก แƒ›แƒแƒ›แƒฎแƒ›แƒแƒ แƒ”แƒ‘แƒšแƒ˜แƒก แƒกแƒแƒฎแƒ”แƒšแƒก แƒ“แƒ แƒžแƒแƒ แƒแƒšแƒก. แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒแƒ˜แƒซแƒฃแƒšแƒแƒ— แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒกแƒ˜ แƒ“แƒแƒ˜แƒฌแƒงแƒแƒก แƒ“แƒ แƒแƒจแƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ˜แƒ— --login แƒ แƒแƒชแƒ แƒ“แƒแƒ แƒ”แƒ™แƒ”แƒก bash, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“:

bash --แƒจแƒ”แƒกแƒ•แƒšแƒ

แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒกแƒ˜ แƒแƒ“แƒ’แƒ”แƒœแƒก แƒกแƒแƒ‘แƒแƒ–แƒ˜แƒกแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒก, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒžแƒ˜แƒ แƒ•แƒ”แƒšแƒแƒ“ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— bash shell-แƒก.

แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜?

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ•แƒ— แƒแƒ แƒ˜แƒก แƒ—แƒฃ แƒแƒ แƒ แƒญแƒฃแƒ แƒ•แƒ˜ แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ—แƒฃ แƒแƒ แƒ.

แƒ”แƒก แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒจแƒ”แƒ›แƒแƒฌแƒ›แƒ“แƒ”แƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒ˜แƒ— PS1 (แƒ˜แƒก แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒก แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒแƒก):

แƒ—แƒฃ ["${PS1-}"]; แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒฎแƒ แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒกแƒฎแƒ•แƒ แƒ”แƒฅแƒ แƒแƒ แƒแƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒคแƒ˜

แƒแƒœ แƒœแƒแƒฎแƒ”แƒ—, แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒฃ แƒแƒ แƒ แƒ”แƒก แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ -iแƒกแƒžแƒ”แƒชแƒ˜แƒแƒšแƒฃแƒ แƒ˜ แƒ“แƒ”แƒคแƒ˜แƒกแƒ˜แƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒ˜แƒ— - แƒ‘แƒแƒจแƒจแƒ˜, แƒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“:

$echo$-

แƒ—แƒฃ แƒ’แƒแƒ›แƒแƒกแƒแƒ•แƒแƒšแƒจแƒ˜ แƒแƒ แƒ˜แƒก แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒ i, แƒ›แƒแƒจแƒ˜แƒœ แƒญแƒฃแƒ แƒ•แƒ˜ แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜.

แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒญแƒฃแƒ แƒ•แƒ˜แƒจแƒ˜?

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒฎแƒแƒ แƒ— แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒญแƒฃแƒ แƒ•แƒ˜แƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ bash แƒ”แƒซแƒ”แƒ‘แƒก แƒคแƒแƒ˜แƒšแƒก /etc/profile แƒ“แƒ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ—แƒฃ แƒ˜แƒก แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก.

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒ”แƒซแƒ”แƒ‘แƒก แƒแƒ› แƒกแƒแƒ›แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜แƒ“แƒแƒœ แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒ›แƒ”แƒก แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—:

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

แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ˜แƒก แƒ˜แƒžแƒแƒ•แƒ˜แƒก แƒ”แƒ แƒ—แƒก, แƒ˜แƒฌแƒงแƒ”แƒ‘แƒก แƒ›แƒแƒก แƒ“แƒ แƒ’แƒแƒ›แƒแƒขแƒแƒ•แƒ”แƒ‘แƒก แƒกแƒฎแƒ•แƒ”แƒ‘แƒก.

แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒš แƒ’แƒแƒ แƒกแƒจแƒ˜?

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒ˜แƒ›แƒงแƒแƒคแƒ”แƒ‘แƒ˜แƒ— แƒแƒ แƒ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒกแƒจแƒ˜, แƒ•แƒแƒ แƒแƒฃแƒ“แƒแƒ‘แƒ”แƒœ, แƒ แƒแƒ› แƒฃแƒ™แƒ•แƒ” แƒ˜แƒงแƒแƒ•แƒ˜แƒ— แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒญแƒฃแƒ แƒ•แƒ˜แƒจแƒ˜, แƒ’แƒแƒ แƒ”แƒ›แƒ แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ“แƒ แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ˜แƒ— แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ.

แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜, แƒจแƒ”แƒ›แƒ“แƒ”แƒ’แƒ˜ แƒแƒ แƒ˜ แƒคแƒแƒ˜แƒšแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ—แƒแƒœแƒ›แƒ˜แƒ›แƒ“แƒ”แƒ•แƒ แƒแƒ‘แƒ˜แƒ—, แƒ—แƒฃ แƒ˜แƒกแƒ˜แƒœแƒ˜ แƒแƒ แƒกแƒ”แƒ‘แƒแƒ‘แƒก:

/etc/bash.bashrc ~/.bashrc

แƒ•แƒแƒ แƒ˜แƒแƒœแƒขแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก?

แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒแƒ  แƒฎแƒแƒ แƒ— แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒแƒœ แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒš แƒ’แƒแƒ แƒกแƒจแƒ˜, แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒ แƒœแƒแƒ›แƒ“แƒ•แƒ˜แƒšแƒแƒ“ แƒชแƒแƒ แƒ˜แƒ”แƒšแƒ˜ แƒ˜แƒฅแƒœแƒ”แƒ‘แƒ. แƒ”แƒก แƒ˜แƒฌแƒ•แƒ”แƒ•แƒก แƒ‘แƒ”แƒ•แƒ  แƒ“แƒแƒ‘แƒœแƒ”แƒฃแƒšแƒแƒ‘แƒแƒก (แƒ˜แƒฎแƒ˜แƒšแƒ”แƒ— แƒฅแƒ•แƒ”แƒ›แƒแƒ— cron แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘).

แƒแƒ› แƒจแƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒแƒจแƒ˜ bash แƒฃแƒงแƒฃแƒ แƒ”แƒ‘แƒก แƒชแƒ•แƒšแƒแƒ“แƒก BASH_ENV แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒ’แƒแƒ แƒ”แƒ›แƒ แƒ“แƒ แƒฅแƒ›แƒœแƒ˜แƒก แƒ˜แƒฅ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒš แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒก แƒคแƒแƒ˜แƒšแƒก.

แƒกแƒแƒ”แƒ แƒ—แƒ แƒกแƒ˜แƒ แƒ—แƒฃแƒšแƒ”แƒ”แƒ‘แƒ˜ แƒ“แƒ แƒชแƒ”แƒ แƒ˜แƒก แƒฌแƒ”แƒกแƒ”แƒ‘แƒ˜

แƒ™แƒ แƒแƒœแƒ˜แƒก แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜

แƒ“แƒ แƒแƒ˜แƒก 95% แƒ›แƒ” แƒ•แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘ bash startup-แƒก, แƒ”แƒก แƒ˜แƒ›แƒ˜แƒขแƒแƒ› แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒ› cron แƒกแƒแƒ›แƒฃแƒจแƒแƒ แƒแƒ  แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก แƒ˜แƒกแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒแƒกแƒแƒšแƒแƒ“แƒœแƒ”แƒšแƒ˜แƒ.

แƒ”แƒก แƒ“แƒแƒฌแƒงแƒ”แƒ•แƒšแƒ˜แƒšแƒ˜ แƒแƒ›แƒแƒชแƒแƒœแƒ แƒ™แƒแƒ แƒ’แƒแƒ“ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒก, แƒ แƒแƒชแƒ แƒ›แƒแƒก แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒขแƒ แƒ˜แƒฅแƒแƒœแƒ–แƒ” แƒ•แƒแƒขแƒแƒ แƒ”แƒ‘, แƒ›แƒแƒ’แƒ แƒแƒ› แƒ•แƒ”แƒ  แƒฎแƒ”แƒ แƒฎแƒ“แƒ”แƒ‘แƒ, แƒ แƒแƒชแƒ แƒ›แƒแƒก แƒ™แƒ แƒแƒœแƒขแƒแƒ‘แƒจแƒ˜ แƒ•แƒแƒขแƒแƒ แƒ”แƒ‘.

แƒแƒฅ แƒแƒ แƒ˜ แƒ›แƒ˜แƒ–แƒ”แƒ–แƒ˜:

  • Cron แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜.
  • แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ˜แƒก แƒฎแƒแƒ–แƒ˜แƒก แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒกแƒแƒ’แƒแƒœ แƒ’แƒแƒœแƒกแƒฎแƒ•แƒแƒ•แƒ”แƒ‘แƒ˜แƒ—, cron แƒกแƒแƒ›แƒฃแƒจแƒแƒแƒ”แƒ‘แƒ˜ แƒแƒ  แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ”แƒœ แƒ’แƒแƒ แƒกแƒ˜แƒก แƒ’แƒแƒ แƒ”แƒ›แƒแƒก.

แƒ แƒแƒ’แƒแƒ แƒช แƒฌแƒ”แƒกแƒ˜, แƒ—แƒฅแƒ•แƒ”แƒœ แƒ•แƒ”แƒ  แƒจแƒ”แƒแƒ›แƒฉแƒœแƒ”แƒ•แƒ— แƒแƒœ แƒแƒ  แƒแƒ˜แƒœแƒขแƒ”แƒ แƒ”แƒกแƒ”แƒ‘แƒ—, แƒ แƒแƒ› shell แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒแƒ  แƒแƒ แƒ˜แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ’แƒแƒ แƒ”แƒ›แƒ แƒ›แƒ”แƒ›แƒ™แƒ•แƒ˜แƒ“แƒ แƒ”แƒแƒ‘แƒ˜แƒ— แƒ˜แƒฆแƒ”แƒ‘แƒก แƒ˜แƒœแƒขแƒ”แƒ แƒแƒฅแƒขแƒ˜แƒฃแƒšแƒ˜ แƒ’แƒแƒ แƒกแƒ˜แƒกแƒ’แƒแƒœ. แƒ”แƒก แƒœแƒ˜แƒจแƒœแƒแƒ•แƒก, แƒ แƒแƒ› แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ PATH ะธ alias แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒ˜แƒกแƒ”, แƒ แƒแƒ’แƒแƒ แƒช แƒ—แƒฅแƒ•แƒ”แƒœ แƒ›แƒแƒ”แƒšแƒ˜แƒ—.

แƒแƒ›แƒ˜แƒขแƒแƒ› แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒกแƒแƒญแƒ˜แƒ แƒแƒ แƒ™แƒแƒœแƒ™แƒ แƒ”แƒขแƒฃแƒšแƒ˜แƒก แƒ“แƒแƒ“แƒ’แƒ”แƒœแƒ PATH Cron แƒแƒ›แƒแƒชแƒแƒœแƒ˜แƒกแƒ—แƒ•แƒ˜แƒก, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ แƒแƒฅ:

* * * * * PATH=${PATH}:/path/to/my/program/folder myprogram

แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒก แƒ”แƒซแƒแƒฎแƒ˜แƒแƒœ

แƒ™แƒ˜แƒ“แƒ”แƒ• แƒ”แƒ แƒ—แƒ˜ แƒ’แƒแƒ•แƒ แƒชแƒ”แƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒแƒ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒ— แƒแƒ แƒ˜แƒก แƒ™แƒแƒœแƒคแƒ˜แƒ’แƒฃแƒ แƒ˜แƒ แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ”แƒ แƒ—แƒ›แƒแƒœแƒ”แƒ—แƒ˜แƒก แƒ“แƒแƒกแƒแƒ แƒ”แƒ™แƒแƒ“. แฒ›แƒแƒ’แƒแƒšแƒ˜แƒ—แƒแƒ“, /etc/profile แƒ›แƒ˜แƒ›แƒแƒ แƒ—แƒแƒ•แƒก ~/.bashrc.

แƒ”แƒก แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒฎแƒ“แƒ”แƒ‘แƒ แƒ›แƒแƒจแƒ˜แƒœ, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒ•แƒ˜แƒœแƒ›แƒ” แƒชแƒ“แƒ˜แƒšแƒแƒ‘แƒ“แƒ แƒจแƒ”แƒชแƒ“แƒแƒ›แƒ˜แƒก แƒ’แƒแƒ›แƒแƒกแƒฌแƒแƒ แƒ”แƒ‘แƒแƒก แƒ“แƒ แƒ—แƒ˜แƒ—แƒฅแƒแƒก แƒงแƒ•แƒ”แƒšแƒแƒคแƒ”แƒ แƒ˜ แƒ›แƒฃแƒจแƒแƒแƒ‘แƒ“แƒ. แƒกแƒแƒ›แƒฌแƒฃแƒฎแƒแƒ แƒแƒ“, แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒ› แƒกแƒฎแƒ•แƒแƒ“แƒแƒกแƒฎแƒ•แƒ แƒขแƒ˜แƒžแƒ˜แƒก แƒกแƒ”แƒกแƒ˜แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ—, แƒแƒฎแƒแƒšแƒ˜ แƒžแƒ แƒแƒ‘แƒšแƒ”แƒ›แƒ”แƒ‘แƒ˜ แƒฌแƒแƒ แƒ›แƒแƒ˜แƒฅแƒ›แƒœแƒ”แƒ‘แƒ.

Sandboxed Docker แƒกแƒฃแƒ แƒแƒ—แƒ˜

แƒญแƒฃแƒ แƒ•แƒ˜แƒก แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ˜แƒก แƒ”แƒฅแƒกแƒžแƒ”แƒ แƒ˜แƒ›แƒ”แƒœแƒขแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก แƒ›แƒ” แƒจแƒ”แƒ•แƒฅแƒ›แƒ”แƒœแƒ˜ Docker แƒกแƒฃแƒ แƒแƒ—แƒ˜, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒ›แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒš แƒ˜แƒฅแƒœแƒแƒก แƒฃแƒกแƒแƒคแƒ แƒ—แƒฎแƒ แƒ’แƒแƒ แƒ”แƒ›แƒแƒจแƒ˜ แƒ’แƒแƒ แƒกแƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก.

แƒ’แƒแƒจแƒ•แƒ”แƒ‘แƒ:

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

Dockerfile แƒ›แƒ“แƒ”แƒ‘แƒแƒ แƒ”แƒแƒ‘แƒก แƒแƒฅ.

แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ˜แƒซแƒฃแƒšแƒ”แƒ‘แƒ แƒ“แƒ แƒจแƒ”แƒกแƒ•แƒšแƒ˜แƒก แƒ’แƒแƒ แƒกแƒ˜แƒก แƒกแƒ˜แƒ›แƒฃแƒšแƒแƒชแƒ˜แƒ:

$ bash --login

แƒชแƒ•แƒšแƒแƒ“แƒ”แƒ‘แƒ˜แƒก แƒœแƒแƒ™แƒ แƒ”แƒ‘แƒ˜แƒก แƒจแƒ”แƒกแƒแƒ›แƒแƒฌแƒ›แƒ”แƒ‘แƒšแƒแƒ“ BASH_ENV:

$ env | grep BASH_ENV

แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก crontab แƒ›แƒแƒ แƒขแƒ˜แƒ•แƒ˜ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ˜ แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ แƒงแƒแƒ•แƒ”แƒš แƒฌแƒฃแƒ—แƒจแƒ˜ (in /root/ascript):

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

แƒฌแƒงแƒแƒ แƒ: www.habr.com

แƒแƒฎแƒแƒšแƒ˜ แƒ™แƒแƒ›แƒ”แƒœแƒขแƒแƒ แƒ˜แƒก แƒ“แƒแƒ›แƒแƒขแƒ”แƒ‘แƒ