ื–ื™ื‘ืŸ ืื•ืžื’ืขืจื™ื›ื˜ ื‘ืึทืฉ ื•ื•ืขืจื™ืึทื‘ืึทืœื–

ืคืึธืจื–ืขืฆืŸ ื“ื™ ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹ื”ืขืจื•ืช ื•ื•ืขื’ืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ื‘ืืงืื ื˜ ืคืึทื ื’ืงืฉืึทื ื– bash, ืื™ืš ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืื™ืจ ื–ื™ื‘ืŸ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ื•ื•ืึธืก ืื™ืจ ืงืขืŸ ื ื™ืฉื˜ ื•ื•ื™ืกืŸ ื•ื•ืขื’ืŸ.

1) PROMPT_COMMAND

ืื™ืจ ืงืขืŸ ืฉื•ื™ืŸ ื•ื•ื™ืกืŸ ื•ื•ื™ ืฆื• ืžืึทื ื™ืคึผื•ืœื™ืจืŸ ื“ื™ ืคึผื™ื ื˜ืœืขืš ืฆื• ื•ื•ื™ื™ึทื–ืŸ ืคืึทืจืฉื™ื“ืŸ ื ื•ืฆื™ืง ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข, ืึธื‘ืขืจ ื ื™ื˜ ืึทืœืขืžืขืŸ ื•ื•ื™ื™ืกื˜ ืึทื– ืื™ืจ ืงืขื ืขืŸ ืœื•ื™ืคืŸ ืึท ืฉืึธืœ ื‘ืึทืคึฟืขืœ ื™ืขื“ืขืจ ืžืึธืœ ื•ื•ืขืŸ ื“ื™ ืคึผื™ื ื˜ืœืขืš ืื™ื– ื’ืขื•ื•ื™ื–ืŸ.

ืื™ืŸ ืคืึทืงื˜, ืคื™ืœืข ืงืึธืžืคึผืœืขืงืก ืคึผื™ื ื˜ืœืขืš ืžืึทื ื™ืคึผื™ืึทืœื™ื™ื˜ืขืจื– ื ื•ืฆืŸ ื“ืขื ื‘ื™ื™ึทื˜ืขื•ื•ื“ื™ืง ืฆื• ื•ื™ืกืคื™ืจืŸ ืงืึทืžืึทื ื“ื– ืฆื• ื–ืึทืžืœืขืŸ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข ื•ื•ืึธืก ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ืื™ืŸ ื“ื™ ืคึผื™ื ื˜ืœืขืš.

ืคึผืจื•ึผื•ื•ื˜ ืœื•ื™ืคืŸ ื“ืขื ืื™ืŸ ืึท ื ื™ื™ึทืข ืฉืึธืœ ืื•ืŸ ื–ืขืŸ ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ืฆื• ื“ื™ ืกืขืกื™ืข:

$ 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 ืงืขืจืœ bbc.co.uk 1873 ืื™ืš ื’ืขืœืืคืŸ ื“ืขื ืื™ืŸ : 01/05/19 13:38:41 sudo vi /etc/resolv.conf 1874 ืื™ืš ื’ืขืœืืคืŸ ื“ืขื ื‘ื™ื™ึท: 01/05/19 13:39:18 ืงืขืจืœ -ื•ื•ื•ื•ื• 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 ื•ื•ืขื˜ ืขืก ืื™ืจ ืึทืจื•ื™ืกืคื™ืจืŸ ืคื•ืŸ ื“ื™ื™ืŸ ืงืจืึทื ื˜ ื‘ืึทืฉ ืฉืึธืœ ืฆื• ืืŸ ืื ื“ืขืจ "ืคืึธื˜ืขืจ" ืฉืึธืœ, ืึธื“ืขืจ ื•ื•ืขื˜ ืขืก ื ืึธืจ ืคืึทืจืžืึทื›ืŸ ื“ื™ ืงืึทื ืกืึธื•ืœ ืคึฟืขื ืฆื˜ืขืจ ื’ืึธืจ?

ื“ืขืจ ื•ื•ืขืจื™ืึทื‘ืึทืœ ื”ืืœื˜ ืฉืคึผื•ืจ ืคื•ืŸ ื•ื•ื™ ื“ื™ืคึผืœื™ ื ืขืกื˜ืขื“ ืื™ืจ ื–ืขื ื˜ ืื™ืŸ ื“ื™ ื‘ืึทืฉ ืฉืึธืœ. ืื•ื™ื‘ ืื™ืจ ืฉืึทืคึฟืŸ ืึท ื ื™ื™ึทืข ื•ื•ืึธืงื–ืึทืœ, ืขืก ืื™ื– ื‘ืึทืฉื˜ื™ืžื˜ ืฆื• 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

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’