แƒจแƒ•แƒ˜แƒ“แƒ˜ แƒ›แƒแƒฃแƒšแƒแƒ“แƒœแƒ”แƒšแƒ˜ Bash แƒชแƒ•แƒšแƒแƒ“แƒ˜

แƒ•แƒแƒ’แƒ แƒซแƒ”แƒšแƒ”แƒ‘แƒ— แƒจแƒ”แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒ‘แƒ˜แƒก แƒกแƒ”แƒ แƒ˜แƒ˜แƒก แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒœแƒแƒ™แƒšแƒ”แƒ‘แƒแƒ“ แƒชแƒœแƒแƒ‘แƒ˜แƒšแƒ˜ แƒคแƒฃแƒœแƒฅแƒชแƒ˜แƒ”แƒ‘แƒ˜ bash, แƒ›แƒ” แƒ’แƒแƒฉแƒ•แƒ”แƒœแƒ”แƒ‘แƒ— แƒจแƒ•แƒ˜แƒ“ แƒชแƒ•แƒšแƒแƒ“แƒก, แƒ แƒแƒ›แƒ”แƒšแƒ—แƒ แƒจแƒ”แƒกแƒแƒฎแƒ”แƒ‘ แƒจแƒ”แƒกแƒแƒซแƒšแƒแƒ แƒแƒ  แƒ˜แƒชแƒแƒ“แƒ”แƒ—.

1) PROMPT_COMMAND

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

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

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

$ PROMPT_COMMAND='echo -n "writing the prompt at " && date'

2) HISTTIMEFORMAT

แƒ—แƒฃ แƒ’แƒแƒ˜แƒฅแƒชแƒ”แƒ•แƒ history แƒ™แƒแƒœแƒกแƒแƒšแƒจแƒ˜ แƒ›แƒ˜แƒ˜แƒฆแƒ”แƒ‘แƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒแƒœแƒ’แƒแƒ แƒ˜แƒจแƒจแƒ˜ แƒแƒ“แƒ แƒ” แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒ›แƒแƒœแƒแƒ—แƒ•แƒแƒšแƒก.

$ HISTTIMEFORMAT='I ran this at: %d/%m/%y %T '

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

1871 แƒ›แƒ” แƒ’แƒแƒ•แƒ˜แƒฅแƒ”แƒชแƒ˜: 01/05/19 13:38:07 cat /etc/resolv.conf 1872 แƒ›แƒ” แƒ’แƒแƒ•แƒ˜แƒฅแƒ”แƒชแƒ˜: 01/05/19 13:38:19 curl bbc.co.uk 1873 แƒ›แƒ” แƒ’แƒแƒ•แƒ˜แƒฅแƒ”แƒชแƒ˜: : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 แƒ›แƒ” แƒ’แƒแƒ•แƒ˜แƒฅแƒ”แƒชแƒ˜: 01/05/19 13:39:18 curl -vvv bbc.co.uk 1876 แƒ›แƒ” แƒ’แƒแƒ•แƒ˜แƒฅแƒ”แƒชแƒ˜: 01 /05/19 13:39:25 แƒกแƒฃแƒ“แƒ แƒกแƒฃ -

แƒคแƒแƒ แƒ›แƒแƒขแƒ˜แƒ แƒ”แƒ‘แƒ แƒ”แƒ›แƒ—แƒฎแƒ•แƒ”แƒ•แƒ แƒกแƒ˜แƒ›แƒ‘แƒแƒšแƒแƒ”แƒ‘แƒก man date.

3) CDPATH

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

แƒ แƒแƒ’แƒแƒ แƒช PATH, แƒชแƒ•แƒšแƒแƒ“แƒ˜ CDPATH แƒแƒ แƒ˜แƒก แƒ›แƒกแƒฎแƒ•แƒ˜แƒšแƒ˜ แƒœแƒแƒฌแƒšแƒแƒ•แƒ˜แƒ— แƒ’แƒแƒ›แƒแƒงแƒแƒคแƒ˜แƒšแƒ˜ แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒ˜แƒก แƒกแƒ˜แƒ. แƒ แƒแƒ“แƒ”แƒกแƒแƒช แƒแƒฌแƒแƒ แƒ›แƒแƒ”แƒ‘แƒ— แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒแƒก cd แƒคแƒแƒ แƒ“แƒแƒ‘แƒ˜แƒ—แƒ˜ แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ˜แƒ— (แƒแƒœแƒฃ แƒฌแƒแƒ›แƒงแƒ•แƒแƒœแƒ˜ แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ แƒ”แƒจแƒ”), แƒœแƒแƒ’แƒฃแƒšแƒ˜แƒกแƒฎแƒ›แƒ”แƒ•แƒแƒ“, แƒญแƒฃแƒ แƒ•แƒ˜ แƒ”แƒซแƒ”แƒ‘แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ• แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”แƒจแƒ˜ แƒจแƒ”แƒกแƒแƒ‘แƒแƒ›แƒ˜แƒกแƒ˜ แƒกแƒแƒฎแƒ”แƒšแƒ”แƒ‘แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก. CDPATH แƒ›แƒแƒซแƒ”แƒ‘แƒœแƒ˜แƒก แƒ—แƒฅแƒ•แƒ”แƒœแƒก แƒ›แƒ˜แƒ”แƒ  แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒš แƒ‘แƒ˜แƒšแƒ˜แƒ™แƒ”แƒ‘แƒจแƒ˜ แƒ“แƒ˜แƒ แƒ”แƒฅแƒขแƒแƒ แƒ˜แƒแƒก, แƒกแƒแƒ“แƒแƒช แƒ’แƒกแƒฃแƒ แƒ— แƒฌแƒแƒกแƒ•แƒšแƒ.

แƒ—แƒฃ แƒ“แƒแƒแƒ˜แƒœแƒกแƒขแƒแƒšแƒ˜แƒ แƒ”แƒ— CDPATH แƒแƒ›แƒ’แƒ•แƒแƒ แƒแƒ“:

$ CDPATH=/:/lib

แƒ“แƒ แƒจแƒ”แƒ›แƒ“แƒ”แƒ’ แƒจแƒ”แƒ˜แƒงแƒ•แƒแƒœแƒ”แƒ—:

$ cd /home
$ cd tmp

แƒ›แƒแƒจแƒ˜แƒœ แƒ—แƒฅแƒ•แƒ”แƒœ แƒงแƒแƒ•แƒ”แƒšแƒ—แƒ•แƒ˜แƒก แƒ“แƒแƒกแƒ แƒฃแƒšแƒ“แƒ”แƒ‘แƒ /tmp แƒแƒ  แƒแƒฅแƒ•แƒก แƒ›แƒœแƒ˜แƒจแƒ•แƒœแƒ”แƒšแƒแƒ‘แƒ แƒกแƒแƒ“ แƒฎแƒแƒ .

แƒ—แƒฃแƒ›แƒชแƒ, แƒคแƒ แƒ—แƒฎแƒ˜แƒšแƒแƒ“ แƒ˜แƒงแƒแƒ•แƒ˜แƒ—, แƒ แƒแƒ“แƒ’แƒแƒœ แƒ—แƒฃ แƒกแƒ˜แƒแƒจแƒ˜ แƒแƒ  แƒ›แƒ˜แƒฃแƒ—แƒ˜แƒ—แƒ”แƒ‘แƒ— แƒแƒ“แƒ’แƒ˜แƒšแƒแƒ‘แƒ แƒ˜แƒ•แƒก (.) แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ”, แƒ›แƒแƒจแƒ˜แƒœ แƒกแƒฎแƒ•แƒ แƒกแƒแƒฅแƒแƒฆแƒแƒšแƒ“แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒก แƒ•แƒ”แƒ  แƒจแƒ”แƒซแƒšแƒ”แƒ‘แƒ— tmp แƒ“แƒ แƒ’แƒแƒ“แƒแƒ“แƒ˜แƒ— แƒ›แƒแƒกแƒ–แƒ” แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ˜แƒกแƒแƒ›แƒ”แƒ‘แƒ :

$ cd /home
$ mkdir tmp
$ cd tmp
$ pwd
/tmp

แƒฃแƒ˜!

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

แƒฉแƒ”แƒ›แƒ˜ แƒ›แƒ˜แƒ—แƒ˜แƒ—แƒ”แƒ‘แƒฃแƒšแƒ˜แƒ แƒกแƒแƒฌแƒงแƒ˜แƒกแƒ˜ แƒฌแƒ”แƒ แƒขแƒ˜แƒšแƒ˜แƒ—:

CDPATH=.:/space:/etc:/var/lib:/usr/share:/opt

4) SHLVL

แƒแƒ“แƒ”แƒกแƒ›แƒ” แƒ“แƒแƒคแƒ˜แƒฅแƒ แƒ”แƒ‘แƒฃแƒšแƒฎแƒแƒ แƒ—, แƒแƒ™แƒ แƒ”แƒคแƒ— exit แƒ’แƒแƒ“แƒแƒ’แƒ˜แƒงแƒ•แƒแƒœแƒ— แƒ—แƒฅแƒ•แƒ”แƒœแƒ˜ แƒแƒ›แƒŸแƒแƒ›แƒ˜แƒœแƒ“แƒ”แƒšแƒ˜ bash แƒญแƒฃแƒ แƒ•แƒ˜แƒ“แƒแƒœ แƒกแƒฎแƒ•แƒ "แƒ›แƒจแƒแƒ‘แƒšแƒ˜แƒก" แƒ’แƒแƒ แƒกแƒจแƒ˜, แƒ—แƒฃ แƒฃแƒ‘แƒ แƒแƒšแƒแƒ“ แƒ›แƒ—แƒšแƒ˜แƒแƒœแƒแƒ“ แƒ“แƒแƒฎแƒฃแƒ แƒแƒ•แƒก แƒ™แƒแƒœแƒกแƒแƒšแƒ˜แƒก แƒคแƒแƒœแƒฏแƒแƒ แƒแƒก?

แƒ”แƒก แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒ—แƒ•แƒแƒšแƒงแƒฃแƒ แƒก แƒแƒ“แƒ”แƒ•แƒœแƒ”แƒ‘แƒก, แƒ—แƒฃ แƒ แƒแƒ›แƒ“แƒ”แƒœแƒแƒ“ แƒฆแƒ แƒ›แƒแƒ“ แƒฎแƒแƒ แƒ— แƒ‘แƒฃแƒ“แƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒแƒจแƒ˜แƒก แƒ’แƒแƒ แƒกแƒจแƒ˜. แƒ—แƒฃ แƒ—แƒฅแƒ•แƒ”แƒœ แƒจแƒ”แƒฅแƒ›แƒœแƒ˜แƒ— แƒแƒฎแƒแƒš แƒขแƒ”แƒ แƒ›แƒ˜แƒœแƒแƒšแƒก, แƒ˜แƒก แƒ“แƒแƒงแƒ”แƒœแƒ”แƒ‘แƒฃแƒšแƒ˜แƒ 1-แƒ–แƒ”:

$ echo $SHLVL
1

แƒจแƒ”แƒ›แƒ“แƒ”แƒ’, แƒ—แƒฃ แƒ“แƒแƒ˜แƒฌแƒงแƒ”แƒ‘แƒ— แƒญแƒฃแƒ แƒ•แƒ˜แƒก แƒกแƒฎแƒ•แƒ แƒžแƒ แƒแƒชแƒ”แƒกแƒก, แƒ แƒ˜แƒชแƒฎแƒ•แƒ˜ แƒ˜แƒ–แƒ แƒ“แƒ”แƒ‘แƒ:

$ bash
$ echo $SHLVL
2

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

5) LINENO

แƒชแƒ•แƒšแƒแƒ“แƒ˜ แƒแƒกแƒ”แƒ•แƒ” แƒกแƒแƒกแƒแƒ แƒ’แƒ”แƒ‘แƒšแƒแƒ แƒ›แƒ˜แƒ›แƒ“แƒ˜แƒœแƒแƒ แƒ” แƒ›แƒ“แƒ’แƒแƒ›แƒแƒ แƒ”แƒแƒ‘แƒ˜แƒก แƒ’แƒแƒกแƒแƒแƒœแƒแƒšแƒ˜แƒ–แƒ”แƒ‘แƒšแƒแƒ“ แƒ“แƒ แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒ—แƒ•แƒ˜แƒก LINENO, แƒ แƒแƒ›แƒ”แƒšแƒ˜แƒช แƒแƒชแƒœแƒแƒ‘แƒ”แƒ‘แƒก แƒกแƒ”แƒกแƒ˜แƒแƒ–แƒ” แƒแƒฅแƒแƒ›แƒ“แƒ” แƒจแƒ”แƒกแƒ แƒฃแƒšแƒ”แƒ‘แƒฃแƒšแƒ˜ แƒ‘แƒ แƒซแƒแƒœแƒ”แƒ‘แƒ”แƒ‘แƒ˜แƒก แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒแƒก:

$ bash
$ echo $LINENO
1
$ echo $LINENO
2

แƒ”แƒก แƒงแƒ•แƒ”แƒšแƒแƒ–แƒ” แƒฎแƒจแƒ˜แƒ แƒแƒ“ แƒ’แƒแƒ›แƒแƒ˜แƒงแƒ”แƒœแƒ”แƒ‘แƒ แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒ›แƒแƒ แƒ—แƒ•แƒ˜แƒกแƒแƒก. แƒฎแƒแƒ–แƒ”แƒ‘แƒ˜แƒก แƒฉแƒแƒกแƒ›แƒ, แƒ แƒแƒ’แƒแƒ แƒ˜แƒชแƒแƒ echo DEBUG:$LINENO, แƒจแƒ”แƒ’แƒ˜แƒซแƒšแƒ˜แƒแƒ— แƒกแƒฌแƒ แƒแƒคแƒแƒ“ แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒแƒ—, แƒกแƒแƒ“ แƒฎแƒแƒ แƒ— แƒกแƒ™แƒ แƒ˜แƒžแƒขแƒจแƒ˜ (แƒ—แƒฃ แƒแƒ แƒ).

6) REPLY

แƒ—แƒฃ, แƒ แƒแƒ’แƒแƒ แƒช แƒ›แƒ”, แƒฉแƒ•แƒ”แƒฃแƒšแƒ”แƒ‘แƒ แƒ˜แƒ• แƒฌแƒ”แƒ แƒ— แƒ™แƒแƒ“แƒก แƒแƒกแƒ”:

$ read input
echo do something with $input

แƒจแƒ”แƒ˜แƒซแƒšแƒ”แƒ‘แƒ แƒ’แƒแƒกแƒแƒ™แƒ•แƒ˜แƒ แƒ˜ แƒ˜แƒงแƒแƒก, แƒ แƒแƒ› แƒ—แƒฅแƒ•แƒ”แƒœ แƒกแƒแƒ”แƒ แƒ—แƒแƒ“ แƒแƒ  แƒ’แƒญแƒ˜แƒ แƒ“แƒ”แƒ‘แƒแƒ— แƒคแƒ˜แƒฅแƒ แƒ˜ แƒชแƒ•แƒšแƒแƒ“แƒ˜แƒก แƒจแƒ”แƒฅแƒ›แƒœแƒแƒ–แƒ”:

$ read
echo do something with $REPLY

แƒ”แƒก แƒ˜แƒ’แƒ˜แƒ•แƒ”แƒก แƒแƒ™แƒ”แƒ—แƒ”แƒ‘แƒก.

7) TMOUT

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

แƒ—แƒฃ แƒ แƒแƒ›แƒ” แƒแƒ  แƒแƒ แƒ˜แƒก แƒจแƒ”แƒงแƒ•แƒแƒœแƒ˜แƒšแƒ˜ แƒฌแƒแƒ›แƒ”แƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒกแƒแƒ–แƒฆแƒ•แƒ แƒฃแƒšแƒ˜ แƒ แƒแƒแƒ“แƒ”แƒœแƒแƒ‘แƒ˜แƒก แƒ’แƒแƒœแƒ›แƒแƒ•แƒšแƒแƒ‘แƒแƒจแƒ˜, แƒ’แƒแƒ แƒกแƒ˜ แƒ’แƒแƒ“แƒ˜แƒก.

แƒแƒœแƒฃ แƒ”แƒก แƒแƒ แƒ˜แƒก แƒแƒšแƒขแƒ”แƒ แƒœแƒแƒขแƒ˜แƒ•แƒ sleep 1 && exit:

$ TMOUT=1

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

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