Π ΠΈΡ. 2.1. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ,
patfile
fgrep
2.1.1. Π‘ΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ POSIX
Π‘ΡΠ°Π½Π΄Π°ΡΡ POSIX ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΠ΄ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠΈΠΊΡΠΎ ΠΎΡ Π²Π°Ρ Π½Π΅ ΡΡΠ΅Π±ΡΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²Π°ΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΠ»ΠΈ ΡΡΠΈΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ, Π½ΠΎ ΡΡΠΎ Ρ ΠΎΡΠΎΡΠ°Ρ ΠΌΡΡΠ»Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊ: ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Linux ΠΈ Unix ΠΏΠΎ Π²ΡΠ΅ΠΌΡ ΠΌΠΈΡΡ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΈ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ Π½Π΅ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΠΌ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ, Π²Π°ΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π±ΡΠ΄ΡΡ Π½Π΅ΡΡΠ°ΡΡΠ½Ρ. (ΠΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ!) ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠ±ΡΡΠΆΠ΄Π°Π΅ΠΌ Π΄Π°Π»Π΅Π΅ Π² ΡΡΠΎΠΉ Π³Π»Π°Π²Π΅, ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡ Π²Π°Ρ ΠΎΡ Π±ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅. ΠΠΎΡ ΡΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°, ΠΏΠ΅ΡΠ΅ΡΡΠ°Π·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ°:
1.Β Π ΠΈΠΌΠ΅Π½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ Π΄Π²ΡΡ ΠΈ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Π²ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
2.Β ΠΠΌΠ΅Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π»ΠΈΡΡ ΡΡΡΠΎΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ ΡΠΈΡΡΡ.
3.Β ΠΠΌΡ ΠΎΠΏΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ Π±ΡΠΊΠ²Π΅Π½Π½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ. ΠΠΏΡΠΈΠΈ Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΡΠΈΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΡΡ. ΠΠ»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΡΡΠΈΠ»ΠΈΡΡ POSIX, ΠΎΠΏΡΠΈΡ
-W
4.Β ΠΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° '
-
5.Β ΠΠ»Ρ ΠΎΠΏΡΠΈΠΉ, Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ², Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠΏΡΠΈΠΉ ΠΏΠΎΡΠ»Π΅ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° '
-
foo -a -b -c
foo -abc
6.Β ΠΠΎΠ³Π΄Π° ΠΎΠΏΡΠΈΠΈ Π²ΡΠ΅ ΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΎΡ ΠΎΠΏΡΠΈΠΈ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, '
fgrep -f patfile
ΠΠ΄Π½Π°ΠΊΠΎ, ΡΡΠ°Π½Π΄Π°ΡΡ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΡ, ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΎΠΏΡΠΈΡ ΠΈ Π΅Π΅ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ ΠΌΠΎΠ³ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅: '
fgrep -fpatfile
getopt()
getopt_long()
-fpatfile
-f patfile
-f -p -a -t ...
7.Β ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΉ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ.
ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΅ΡΠ»ΠΈ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΎΠΏΡΠΈΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π²ΡΠ΅Π³Π΄Π°, ΠΈΠ½Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠΎΡΠ΅ΡΠΏΠΈΡ Π½Π΅ΡΠ΄Π°ΡΡ GNU
getopt()
8.Β ΠΡΠ»ΠΈ ΠΎΠΏΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π·Π°ΠΏΡΡΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Π³ΠΈΠΏΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅
myprog
-u
myprog -u "arnold,joe,jane" /* Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΌΠΈ */
myprog -u "arnold joe jane" /* Π Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ */
Π ΡΠ°ΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΠ΄Π΅Π»ΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ (Ρ.Π΅. Π·Π΄Π΅ΡΡ Π½Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ), Π½ΠΎ ΡΡΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΡΠ°.
9.Β ΠΠΏΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΏΠ΅ΡΠ²ΡΠΌΠΈ, ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°ΠΌΠΈ. ΠΠ΅ΡΡΠΈΠΈ
getopt()
getopt()
10.Β Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ '
--
11.Β ΠΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ ΠΎΠΏΡΠΈΠΈ, Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ³ΡΠ°ΡΡ ΡΠΎΠ»ΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠ½ΠΎ ΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΡ ΠΎΠΏΡΠΈΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ΄Π½Π° ΠΎΠΏΡΠΈΡ ΠΏΠ΅ΡΠ΅ΠΊΡΡΠ²Π°Π΅Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄ΡΡΠ³ΠΎΠΉ, ΡΠΎΠ³Π΄Π° (ΡΠ°ΠΊ ΡΠΊΠ°Π·Π°ΡΡ) ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΏΠΎΠ±Π΅ΠΆΠ΄Π°Π΅Ρ. ΠΡΠ»ΠΈ ΠΎΠΏΡΠΈΡ, ΠΈΠΌΠ΅ΡΡΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΡΡΡ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, '
myprog -u arnold -u jane
myprog -u "arnold, jane"
getopt()
12.Β ΠΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΄ΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΆΠ΄Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ.
13.Β ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠΈΡΠ°ΡΡΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΡΠ°ΠΊΡΠΎΠ²Π°ΡΡ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ '
-
ΠΡΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π΅ ΡΠ»Π΅Π΄ΡΡΡ Π²ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡΠΌ. ΠΠ»Π°Π²Π½ΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ; ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΡΠΈΡ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΠΉ.
2.1.2. ΠΠ»ΠΈΠ½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ GNU
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄Π΅Π»ΠΈ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ 1.4.2 Β«ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΒ», ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°ΠΌ GNU ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΈ Π² ΡΠΎΡΠΌΠ΅
--help
--verbose
--
--help
-h
-i
getopt_long()
1.Β Π£ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ POSIX, ΠΊΠ°ΠΆΠ΄Π°Ρ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΎΠΏΡΠΈΡ (ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ») Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π² Π²ΠΈΠ΄Π΅ Π΄Π»ΠΈΠ½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΈ.
2.Β ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π΄Π»Ρ GNU ΠΎΠΏΡΠΈΠΈ Π½Π΅ Π½ΡΠΆΠ΄Π°ΡΡΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ ΠΎΠΏΡΠΈΠΈ, Π½ΠΎ ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
3.Β ΠΠ»ΠΈΠ½Π½ΡΡ ΠΎΠΏΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π΄ΠΎ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΡΠ°Π΅ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π΅ΡΡΡ Π΄Π²Π΅ ΠΎΠΏΡΠΈΠΈ
--verbose
--verbatim
--verbo
--verba
4.Β ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΈ ΠΎΡΠ΄Π΅Π»ΡΡΡΡΡ ΠΎΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΠΎΠΏΡΠΈΠΉ Π»ΠΈΠ±ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ, Π»ΠΈΠ±ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ
=
--sourcefile=/some/file
--sourcefile /some/file
5.Β ΠΠΏΡΠΈΠΈ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² ΠΎΠΏΠ΅ΡΠ°Π½Π΄Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ,
getopt_long()
6.Β ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΎΠΏΡΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ ΠΎΠΏΡΠΈΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ, ΡΡΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ. ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈΡΡ Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΊΠΈΡ ΠΎΠΏΡΠΈΠΉ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ -Ρ ΡΠ°ΠΊΠ°Ρ ΠΎΠΏΡΠΈΡ ΠΈ Π΄Π°Π½Π° ΡΡΡΠΎΠΊΠ° '
foo -Ρ
YANKEES -y
-Ρ
YANKEES
foo -Ρ
-y
-Ρ