เช†เช  เช“เช›เชพ เชœเชพเชฃเซ€เชคเชพ เชฌเซ‡เชถ เชตเชฟเช•เชฒเซเชชเซ‹

เช•เซ‡เชŸเชฒเชพเช• เชฌเซ‡เชถ เชตเชฟเช•เชฒเซเชชเซ‹ เชœเชพเชฃเซ€เชคเชพ เช›เซ‡ เช…เชจเซ‡ เชตเชพเชฐเช‚เชตเชพเชฐ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡. เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เช˜เชฃเชพ เชฒเซ‹เช•เซ‹ เชธเซเช•เซเชฐเชฟเชชเซเชŸเชจเซ€ เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชฒเช–เซ‡ เช›เซ‡

xtrace เชธเซ‡เชŸ เช•เชฐเซ‹

เชกเชฟเชฌเช—เซ€เช‚เช— เชฎเชพเชŸเซ‡,

เชธเซ‡เชŸ เช•เชฐเซ‹

เชญเซ‚เชฒเชฅเซ€ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเชตเซเช‚ เช…เชฅเชตเชพ

เชธเซ‡เชŸ -เช“ errunset

เชฌเชนเชพเชฐ เชจเซ€เช•เชณเชตเชพ เชฎเชพเชŸเซ‡ เชœเซ‹ เช•เชนเซ‡เชตเชพเชฏ เชšเชฒ เชธเซ‡เชŸ เชจ เชนเซ‹เชฏ.

เชชเชฐเช‚เชคเซ เช…เชจเซเชฏ เช˜เชฃเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เชคเซ‡เช“เชจเซเช‚ เชตเชฐเซเชฃเชจ เชฎเชพเชจเชธเชฎเชพเช‚ เช–เซ‚เชฌ เชœ เช—เซ‚เช‚เชšเชตเชฃเชญเชฐเซเชฏเซเช‚ เชฐเซ€เชคเซ‡ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชฎเซ‡เช‚ เชธเชฎเชœเซ‚เชคเซ€ เชธเชพเชฅเซ‡ เช…เชนเซ€เช‚ เช•เซ‡เชŸเชฒเซ€เช• เชธเซŒเชฅเซ€ เช‰เชชเชฏเซ‹เช—เซ€ เชตเชธเซเชคเซเช“ เชเช•เชคเซเชฐเชฟเชค เช•เชฐเซ€ เช›เซ‡.

เชจเซ‹เช‚เชง: Macs เชชเชพเชธเซ‡ bash เชจเซเช‚ เชœเซ‚เชจเซเช‚ เชธเช‚เชธเซเช•เชฐเชฃ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ (3.x เชจเซ‡ เชฌเชฆเชฒเซ‡ 4.x) เชœเซเชฏเชพเช‚ เช† เชฌเชงเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช‰เชชเชฒเชฌเซเชง เชจเชฅเซ€. เช† เช•เชฟเชธเซเชธเชพเชฎเชพเช‚, เชœเซเช“ เช…เชนเซ€เช‚ เช…เชฅเชตเชพ เช…เชนเซ€เช‚.

set เช…เชฅเชตเชพ shopt?

เชฌเซ‡เชถ เชตเชฟเช•เชฒเซเชชเซ‹ เชธเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชฌเซ‡ เชฐเซ€เชค เช›เซ‡: เชธเซเช•เซเชฐเชฟเชชเซเชŸเชฎเชพเช‚เชฅเซ€ เช…เชฅเชตเชพ เช•เชฎเชพเชจเซเชก เชฒเชพเช‡เชจเชฎเชพเช‚เชฅเซ€. เชคเชฎเซ‡ เชฌเชฟเชฒเซเชŸ-เช‡เชจ เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ set ะธ shopt. เชฌเช‚เชจเซ‡ เชถเซ‡เชฒเชจเซ€ เชตเชฐเซเชคเชฃเซ‚เช•เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐ เช•เชฐเซ‡ เช›เซ‡, เช˜เชฃเซ€ เชธเชฎเชพเชจ เชตเชธเซเชคเซ เช•เชฐเซ‡ เช›เซ‡ (เชตเชฟเชตเชฟเชง เชฆเชฒเซ€เชฒเซ‹ เชธเชพเชฅเซ‡), เชชเชฐเช‚เชคเซ เชคเซ‡เชฎเชจเชพเชฎเชพเช‚ เชญเชฟเชจเซเชจ เชฎเซ‚เชณ. เชตเชฟเช•เชฒเซเชชเซ‹ set เช…เชจเซเชฏ เชถเซ‡เชฒเชจเชพ เชชเชฐเชฟเชฎเชพเชฃเซ‹เชฎเชพเช‚เชฅเซ€ เชตเชพเชฐเชธเชพเช—เชค เช…เชฅเชตเชพ เช‰เชงเชพเชฐ เชฒเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซเชฏเชพเชฐเซ‡ เชชเชฐเชฟเชฎเชพเชฃเซ‹ shopt bash เชฎเชพเช‚ เชฌเชจเชพเชตเซ‡เชฒ.

เชœเซ‹ เชคเชฎเซ‡ เชตเชฐเซเชคเชฎเชพเชจ เชตเชฟเช•เชฒเซเชชเซ‹ เชœเซ‹เชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชšเชฒเชพเชตเซ‹:

$ set -o
$ shopt

เชฎเชพเช‚ เชตเชฟเช•เชฒเซเชช เชธเช•เซเชฐเชฟเชฏ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ set เชฒเชพเช‚เชฌเซ€ เช…เชฅเชตเชพ เชŸเซ‚เช‚เช•เซ€ เชตเชพเช•เซเชฏเชฐเชšเชจเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เชฅเชพเชฏ เช›เซ‡:

$ set -o errunset
$ set -e

เช…เชธเชฐ เชธเชฎเชพเชจ เช›เซ‡.

เชตเชฟเช•เชฒเซเชชเชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เช“เช›เชพเชจเซ‡ เชฌเชฆเชฒเซ‡ เชชเซเชฒเชธ เชฎเซ‚เช•เชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡:

$ set +e

เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏ เชธเซเชงเซ€ เชนเซเช‚ เช† เชตเชพเช•เซเชฏเชฐเชšเชจเชพ เชฏเชพเชฆ เชฐเชพเช–เซ€ เชถเช•เซเชฏเซ‹ เชจเชนเซ€เช‚ เช•เชพเชฐเชฃ เช•เซ‡ เชคเชฐเซเช• เช–เซ‹เชŸเซ‹ เชฒเชพเช—เชคเซ‹ เชนเชคเซ‹ (เชฎเชพเชˆเชจเชธ เชšเชฟเชนเซเชจ เชตเชฟเช•เชฒเซเชชเชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เชตเชคเซเชคเชพ เชšเชฟเชนเซเชจ เชคเซ‡เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเซ‡ เช›เซ‡).

ะ’ shopt (เชตเชงเซ เชคเชพเชฐเซเช•เชฟเช•) เชซเซเชฒเซ‡เช—เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชฟเช•เชฒเซเชชเซ‹เชจเซ‡ เชธเช•เซเชทเชฎ เช…เชจเซ‡ เช…เช•เซเชทเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡ -s (เชธเซ‡เชŸ) เช…เชจเซ‡ -u (เช…เชจเชธเซ‡เชŸ):

$ shopt -s cdspell # <= on
$ shopt -u cdspell # <= off

เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เชฌเชฆเชฒเชตเซ€

เชคเซเชฏเชพเช‚ เช˜เชฃเชพ เชตเชฟเช•เชฒเซเชชเซ‹ เช›เซ‡ เชœเซ‡ เชคเชฎเชจเซ‡ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เชธเชพเชฅเซ‡ เช•เชพเชฎ เช•เชฐเชตเชพเชฎเชพเช‚ เชฎเชฆเชฆ เช•เชฐเซ‡ เช›เซ‡.

1.เชธเซ€เชกเซ€เชธเซเชชเซ‡เชฒ

เช† เชธเซ‡เชŸเชฟเช‚เช— เชธเชพเชฅเซ‡, bash เชŸเชพเชˆเชชเซ‹เชจเซ‡ เชธเชฎเชœเชตเชพเชจเซเช‚ เชถเชฐเซ‚ เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชคเชฎเชจเซ‡ เชคเซ‡ เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เชฒเชˆ เชœเชถเซ‡ เชœเซ‡เชจเชพ เชจเชพเชฎเชจเซ€ เชœเซ‹เชกเชฃเซ€ เชคเชฎเซ‡ เช–เซ‹เชŸเซ€ เช•เชฐเซ€ เช›เซ‡.

$ shopt -s cdspell
$ mkdir abcdefg
$ cd abcdeg
abcdefg
$ cd ..

เชนเซเช‚ เช˜เชฃเชพ เชตเชฐเซเชทเซ‹เชฅเซ€ เช† เชตเชฟเช•เชฒเซเชชเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€ เชฐเชนเซเชฏเซ‹ เช›เซเช‚ เช…เชจเซ‡ เช–เซ‚เชฌ เชœ เชญเชพเช—เซเชฏเซ‡ เชœ (เช•เชฆเชพเชš เชตเชฐเซเชทเชฎเชพเช‚ เชเช•เชตเชพเชฐ) เชคเซ‡ เช–เซ‚เชฌ เชœ เชตเชฟเชšเชฟเชคเซเชฐ เชจเชฟเชฐเซเชฃเชฏ เชฒเซ‡ เช›เซ‡. เชชเชฐเช‚เชคเซ เช…เชจเซเชฏ เชฆเชฟเชตเชธเซ‹เชฎเชพเช‚ cdspell เชธเชฎเชฏ เชฌเชšเชพเชตเซ‡ เช›เซ‡, เชถเชพเชฌเซเชฆเชฟเช• เชฐเซ€เชคเซ‡ เชฆเชฐเชฐเซ‹เชœ.

2. เช“เชŸเซ‹เชธเซ€เชกเซ€

เชœเซ‹ เชคเชฎเซ‡ เชฌเชนเซเชตเชฟเชง เชเชจเซเชŸเซเชฐเซ€เช“เชจเซ€ เชฌเชฟเชจเช•เชพเชฐเซเชฏเช•เซเชทเชฎเชคเชพ เชธเซเชตเซ€เช•เชพเชฐเชตเชพ เชคเซˆเชฏเชพเชฐ เชจเชฅเซ€ cd, เชคเซ‹ เชชเช›เซ€ เชคเชฎเซ‡ X เชซเซ‹เชฒเซเชกเชฐเชฎเชพเช‚ เช–เชธเซ‡เชกเชตเชพ เชฎเชพเชŸเซ‡ เช† เชตเชฟเช•เชฒเซเชช เชธเซ‡เชŸ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เชœเซ‹ X เช†เชฆเซ‡เชถ เช…เชธเซเชคเชฟเชคเซเชตเชฎเชพเช‚ เชจ เชนเซ‹เชฏ.

$ shopt -s autocd
$ abcdefg
$ cd ..

เชธเซเชตเชคเชƒเชชเซ‚เชฐเซเชฃ เชธเชพเชฅเซ‡ เชธเช‚เชฏเซเช•เซเชค, เช† เชคเชฎเชจเซ‡ เชซเซ‹เชฒเซเชกเชฐเซเชธ เชตเชšเซเชšเซ‡ เชเชกเชชเชฅเซ€ เช•เซ‚เชฆเชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡:

$ ./abc[TAB][RETURN]
cd -- ./abcdefg

เชซเช•เซเชค เชซเซ‹เชฒเซเชกเชฐเชจเซ‡ เชจเชพเชฎ เชจ เช†เชชเซ‹ rm -rf * (เชนเชพ, เชฎเชพเชฐเซเช— เชฆเซเชตเชพเชฐเชพ, เช† เชถเช•เซเชฏ เช›เซ‡).

3. direexpand

เช† เชเช• เชธเชฐเชธ เชตเชฟเช•เชฒเซเชช เช›เซ‡ เชœเซ‡ เชŸเซ‡เชฌ เชฆเชฌเชพเชตเซ€เชจเซ‡ เชชเชฐเซเชฏเชพเชตเชฐเชฃ เชšเชฒเซ‹เชจเซ‡ เชตเชฟเชธเซเชคเซƒเชค เช•เชฐเซ‡ เช›เซ‡:

$ shopt -s direxpand
$ ./[TAB]     # ะทะฐะผะตะฝัะตั‚ัั ะฝะฐ...
$ /full/path/to/current_working_folder
$ ~/[TAB]     # ะทะฐะผะตะฝัะตั‚ัั ะฝะฐ...
$ /full/path/to/home/folder
$ $HOME/[TAB] #  ะทะฐะผะตะฝัะตั‚ัั ะฝะฐ...
$ /full/path/to/home/folder

เช†เช‰เชŸเชชเซเชŸ เชธเชพเชซ เช•เชฐเซ‹

4. เชšเซ‡เช•เชœเซ‹เชฌเซเชธ

เช† เชตเชฟเช•เชฒเซเชช เชธเชคเซเชฐเชฎเชพเช‚เชฅเซ€ เชฒเซ‹เช— เช†เช‰เชŸ เชฅเชตเชพเชจเซเช‚ เชฌเช‚เชง เช•เชฐเซ‡ เช›เซ‡ เชœเซ‹ เชคเซเชฏเชพเช‚ เชนเชœเซ เชชเชฃ เชœเซ‹เชฌเซเชธ เชฌเซ‡เช•เช—เซเชฐเชพเช‰เชจเซเชกเชฎเชพเช‚ เชšเชพเชฒเซ€ เชฐเชนเซ€ เชนเซ‹เชฏ.

เชฌเชนเชพเชฐ เชจเซ€เช•เชณเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, เช…เชงเซ‚เชฐเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ€ เชธเซ‚เชšเชฟ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡. เชœเซ‹ เชคเชฎเซ‡ เชนเชœเซ เชชเชฃ เชฌเชนเชพเชฐ เชจเซ€เช•เชณเชตเชพ เชฎเชพเช‚เช—เชคเชพ เชนเซ‹, เชคเซ‹ เชซเชฐเซ€เชฅเซ€ เชฆเชพเช–เชฒ เช•เชฐเซ‹ exit.

$ shopt -s checkjobs
$ echo $$
68125             # <= ID ะฟั€ะพั†ะตััะฐ ะดะปั ะพะฑะพะปะพั‡ะบะธ
$ sleep 999 &
$ exit
There are running jobs.
[1]+  Running                 sleep 999 &
$ echo $$
68125             # <= ID ะฟั€ะพั†ะตััะฐ ะดะปั ะพะฑะพะปะพั‡ะบะธ ั‚ะพั‚ ะถะต
$ exit
There are running jobs.
[1]+  Running                 sleep 999 &
$ exit
$ echo $$
$ 59316           # <= ะฝะฐ ัั‚ะพั‚ ั€ะฐะท ID ะฟั€ะพั†ะตััะฐ  ะธะทะผะตะฝะธะปัั

เช…เชตเซ‡เชœเซ€ เชฎเชนเชพเชธเชคเซเชคเชพเช“

5.เช—เซเชฒเซ‹เชฌเชธเซเชŸเชพเชฐ

เช† เชตเชฟเช•เชฒเซเชช เชคเชฎเชจเซ‡ เช…เชตเซ‡เชœเซ€ เชฎเชนเชพเชธเชคเซเชคเชพ เช†เชชเซ‡ เช›เซ‡! เชœเซ‹ เชคเชฎเซ‡ เชฆเชพเช–เชฒ เช•เชฐเซ‹:

$ shopt -s globstar
$ ls **

เชชเช›เซ€ เชถเซ‡เชฒ เชฌเชงเซ€ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“ เช…เชจเซ‡ เชธเชฌเชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช เชตเชพเชฐเช‚เชตเชพเชฐ เชฌเชคเชพเชตเชถเซ‡.

เชธเชพเชฅเซ‡ เชธเช‚เชฏเซ‹เชœเชจเชฎเชพเช‚ direxpand เชคเชฎเซ‡ เชชเชฆเชพเชจเซเช•เซเชฐเชฎเชฎเชพเช‚ เชจเซ€เชšเซ‡เชจเซ€ เชฆเชฐเซ‡เช• เชตเชธเซเชคเซเชจเซ‡ เชเชกเชชเชฅเซ€ เชœเซ‹เชˆ เชถเช•เซ‹ เช›เซ‹:

$ shopt -s direxpand
$ ls **[TAB][TAB]
Display all 2033 possibilities? (y or n) 

6.extglob

เช† เชตเชฟเช•เชฒเซเชช เชเชตเชพ เชฒเช•เซเชทเชฃเซ‹เชจเซ‡ เชธเช•เซเชทเชฎ เช•เชฐเซ‡ เช›เซ‡ เชœเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชฐเซ‡เช—เซเชฏเซเชฒเชฐ เชเช•เซเชธเชชเซเชฐเซ‡เชถเชจ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเชพ เชนเซ‹เชฏ เช›เซ‡. เช•เซ‡เชŸเชฒเซ€เช•เชตเชพเชฐ เช† เช–เซ‚เชฌ เช‰เชชเชฏเซ‹เช—เซ€ เช›เซ‡:

$ shopt -s extglob
$ touch afile bfile cfile
$ ls
afile bfile cfile
$ ls ?(a*|b*)
afile bfile
$ ls !(a*|b*)
cfile

เช…เชนเซ€เช‚ เชชเซ‡เชŸเชฐเซเชจ เช•เซŒเช‚เชธเชฎเชพเช‚ เชฎเซ‚เช•เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชŠเชญเซ€ เชชเชŸเซเชŸเซ€ เชฆเซเชตเชพเชฐเชพ เช…เชฒเช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เช…เชนเซ€เช‚ เช‰เชชเชฒเชฌเซเชง เช“เชชเชฐเซ‡เชŸเชฐเซ‹ เช›เซ‡:

? = เช†เชชเซ‡เชฒ เชชเซ‡เชŸเชฐเซเชจเชจเซ€ เชถเซ‚เชจเซเชฏ เช…เชฅเชตเชพ เชเช• เช˜เชŸเชจเชพ เชธเชพเชฅเซ‡ เชฎเซ‡เชณ เช–เชพเชฏ เช›เซ‡
! = เช†เชชเซ‡เชฒ เชชเซ‡เชŸเชฐเซเชจ เชธเชพเชฅเซ‡ เชฎเซ‡เชณ เช–เชพเชคเซ€ เชจเชฅเซ€ เชคเซ‡ เชฌเชงเซเช‚ เชฌเชคเชพเชตเซ‹
* = เชถเซ‚เชจเซเชฏ เช…เชฅเชตเชพ เชตเชงเซ เช˜เชŸเชจเชพเช“
+ = เชเช• เช…เชฅเชตเชพ เชตเชงเซ เช˜เชŸเชจเชพเช“
@ = เชฌเชฐเชพเชฌเชฐ เชเช• เช˜เชŸเชจเชพ

เช…เช•เชธเซเชฎเชพเชค เชฐเช•เซเชทเชฃ

7. เชนเชฟเชธเซเชŸเชฐเซ€เชซเชพเชˆ เช•เชฐเซ‹

เชธเช‚เช•เซเชทเซ‡เชชเชจเชพ เช‡เชคเชฟเชนเชพเชธเชฎเชพเช‚เชฅเซ€ เชเชกเชชเซ€ เชฒเซ‹เช‚เชš เช†เชฆเซ‡เชถเซ‹เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเซ‹ เชคเซ‡ เชชเชนเซ‡เชฒเชพ เชฅเซ‹เชกเซเช‚ เชกเชฐเชพเชฎเชฃเซ€ เชนเซ‹เชˆ เชถเช•เซ‡ เช›เซ‡ !! ะธ !$.

เชตเชฟเช•เชฒเซเชช histverify เช†เชฆเซ‡เชถ เชตเชพเชธเซเชคเชตเชฎเชพเช‚ เชšเชพเชฒเซ‡ เชคเซ‡ เชชเชนเซ‡เชฒเชพเช‚ เชคเชฎเชจเซ‡ เชฌเซ…เชถ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช…เชฐเซเชฅเช˜เชŸเชจ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชœเซ‹เชตเชพ เชฆเซ‡ เช›เซ‡:

$ shopt -s histverify
$ echo !$          # <= ะŸะพ ะฝะฐะถะฐั‚ะธัŽ Enter ะบะพะผะฐะฝะดะฐ ะฝะต ะทะฐะฟัƒัะบะฐะตั‚ัั
$ echo histverify  # <= ะžะฝะฐ ัะฝะฐั‡ะฐะปะฐ ะดะตะผะพะฝัั‚ั€ะธั€ัƒะตั‚ัั ะฝะฐ ัะบั€ะฐะฝะต,
histverify         # <= ะฐ ะฟะพั‚ะพะผ ะทะฐะฟัƒัะบะฐะตั‚ัั 

8. เชจเซ‹เช•เซเชฒเซ‹เชฌเชฐ

เชซเชฐเซ€เชฅเซ€, เช…เช•เชธเซเชฎเชพเชคเซ‹ เชธเชพเชฎเซ‡ เชฐเช•เซเชทเชฃ เช†เชชเชตเชพ เชฎเชพเชŸเซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เชฐเซ€เชกเชพเชฏเชฐเซ‡เช•เซเชŸ เช“เชชเชฐเซ‡เชŸเชฐ (>). เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ‡เช•เช…เชช เชจ เชนเซ‹เชฏ เชคเซ‹ เช† เช†เชชเชคเซเชคเชฟ เชฌเชจเซ€ เชถเช•เซ‡ เช›เซ‡.

เชตเชฟเช•เชฒเซเชช set -ะก เช†เชตเชพ เช“เชตเชฐเชฐเชพเชˆเชŸเซ€เช‚เช—เชจเซ‡ เชชเซเชฐเชคเชฟเชฌเช‚เชงเชฟเชค เช•เชฐเซ‡ เช›เซ‡. เชœเซ‹ เชœเชฐเซ‚เชฐเซ€ เชนเซ‹เชฏ, เชคเซ‹ เชคเชฎเซ‡ เช‘เชชเชฐเซ‡เชŸเชฐเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเซเชฐเช•เซเชทเชพเชจเซ‡ เชฌเชพเชฏเชชเชพเชธ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ >|:

$ touch afile
$ set -C
$ echo something > afile
-bash: afile: cannot overwrite existing file
$ echo something >| afile
$

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹