Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΡΠ»ΠΎΠΆΠ½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΈΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ. ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ bash ΠΈΠ»ΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
ΡΠ°Π·Π΄Π΅Π»Π° 1 ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅
printf
(
man 1 printf
). (ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π½ΡΠΆΠ½ΡΡ
ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 1, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ°ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 3.) Π‘ΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»Π°
%
, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠΉ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΡΠ°Π±Π». 2.8.
Π’Π°Π±Π»ΠΈΡΠ° 2.8
| Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ | Β ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
D
| ΠΡΠ²ΠΎΠ΄ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° |
Π‘
| ΠΡΠ²ΠΎΠ΄ ΡΠΈΠΌΠ²ΠΎΠ»Π° |
S
| ΠΡΠ²ΠΎΠ΄ ΡΡΡΠΎΠΊΠΈ |
%
| ΠΡΠ²ΠΎΠ΄ Π·Π½Π°ΠΊΠ° %
|
Π‘ΡΡΠΎΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
$ <b>printf "%s\n" hello</b>
hello
$ <b>printf "%s %d\t%s" "Hi There" 15 people</b>
Hi There 15 people
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΡΡΡΠΎΠΊΠΈ
Hi There
ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠ΅Π½ΠΈΡ Π΅Π΅ Π² Π΅Π΄ΠΈΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΡΡΡΠΎΠΊΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΠ»ΡΡΠΈΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠΈ (
""
).
return
ΠΠΎΠΌΠ°Π½Π΄Π°
return
ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄ΠΈΠ½ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ, Π²ΡΠ·ΡΠ²Π°ΡΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ. ΠΡΠ»ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Π½Π΅ Π·Π°Π΄Π°Π½, ΠΊΠΎΠΌΠ°Π½Π΄Π°
return
ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
set
ΠΠΎΠΌΠ°Π½Π΄Π°
set
Π·Π°Π΄Π°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ. ΠΠ½Π° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ
, Π²ΡΠ²ΠΎΠ΄ΡΡΠΈΡ
Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΌΠ΅ΡΡΡΠ°. Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Π΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
date
, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΡΠ° Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ, Π½ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ
ΠΏΠΎΠ»Π΅ΠΉ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
set
ΠΈ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ
$(...)
, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
date
ΠΈ Π²ΠΎΠ·Π²ΡΠ°Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° (Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ± ΡΡΠΎΠΌ
ΡΠΌ. Π΄Π°Π»Π΅Π΅). Π Π²ΡΠ²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ date ΡΡΡΠΎΠΊΠ° Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΡΡΠ° β Π²ΡΠΎΡΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ.
#!/bin/sh
echo the date is $(date)
set $(date)
echo The month is $2
exit 0
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Π΄Π°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ
date
ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
$2
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠ΅ΡΡΡΠ°.
ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
date
ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
date
Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠ·ΡΠΊΠΎΠ²ΡΡ
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΌΡ Π±Ρ ΠΈΠ·Π²Π»Π΅ΠΊΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΡΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ
date +%B
. Π£ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
date
ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΌ. Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ
ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅.
ΠΠΎΠΌΠ°Π½Π΄Ρ
set
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ ΠΈ ΡΠ΅ΠΌ ΡΠ°ΠΌΡΠΌ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ Π΅Π΅ ΡΠ°Π±ΠΎΡΡ. ΠΠ°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
set -Ρ
, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
set
ΠΈ Π΅Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΏΠΎΠ·ΠΆΠ΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΡΠ»Π°Π΄ΠΊΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
shift
ΠΠΎΠΌΠ°Π½Π΄Π°
shift
ΡΠ΄Π²ΠΈΠ³Π°Π΅Ρ Π²ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π½Π° ΠΎΠ΄Π½Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π½Π°Π·Π°Π΄, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
$2
ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ
$1
, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
$3
β
$2
ΠΈ Ρ.Π΄. ΠΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
$1
ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π΅ΡΡΡ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Β
$0
ΠΎΡΡΠ°Π΅ΡΡΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΡΠΌ. ΠΡΠ»ΠΈ Π² Π²ΡΠ·ΠΎΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
shift
Π·Π°Π΄Π°Π½ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΄Π²ΠΈΠ³Π°ΡΡΡΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ. ΠΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅
$*
,
[email protected]
ΠΈ
$#
ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π² ΡΠ²ΡΠ·ΠΈ Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
-ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ².
ΠΠΎΠΌΠ°Π½Π΄Π°
shift
ΡΠ°ΡΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° ΠΏΡΠΈ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΌ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΡ
Π² ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΈ Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ΠΌΡ ΡΡΠ΅Π½Π°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ 10 ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ², Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π°
shift
Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ 10-ΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΈ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ Π·Π° Π½ΠΈΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
#!/bin/sh
while [ "$1" != "" ]; do
Β echo "$1"
Β shift
done
exit 0
trap
ΠΠΎΠΌΠ°Π½Π΄Π°
trap
ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°Π΄Π°Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ
ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π±ΡΠ΄ΡΡ ΠΎΠ±ΡΡΠΆΠ΄Π°ΡΡΡΡ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅. ΠΠ±ΡΡΠ½ΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ β ΡΠ΄Π°Π»ΠΈΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΡΠ΅ΡΠ²Π°Π½. ΠΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΡΠΈΡΠ»Π° Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΈΠ³Π½Π°Π»ΠΎΠ², Π½ΠΎ Π² ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΅Π½Π°ΡΠΈΡΡ
ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠΌΠ΅Π½Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Π΅ΡΡΡΡΡ ΠΈΠ· ΡΠ°ΠΉΠ»Π° signal.h Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ
#include
Ρ ΠΎΠΏΡΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ
SIG
. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½ΠΎΠΌΠ΅ΡΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ² ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΈΠΌΠ΅Π½Π°, ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
trap -l
.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΡΠΈΠ³Π½Π°Π»Π°ΠΌΠΈ, ΡΡΠΎ ΡΠΎΠ±ΡΡΠΈΡ, Π°ΡΠΈΠ½Ρ
ΡΠΎΠ½Π½ΠΎ ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
trap
ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠΌΡ (ΠΈΠΌΠ΅Π½Π°) ΡΠΈΠ³Π½Π°Π»Π° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ°:
<b>trap </b><i>ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΈΠ³Π½Π°Π»</i>