Π‘Π»Π΅Π΄ Π΄Π²Π°Π΄Π΅ΡΠ΅Ρ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°, Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ GNU Bash 5.2 Π±Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ Π½Π° Linux. ΠΠ°ΡΠ°Π»Π΅Π»Π½ΠΎ Ρ ΡΠΎΠ²Π° Π΅ ΠΎΡΠΎΡΠΌΠ΅Π½ ΠΈ ΡΠ΅Π»ΠΈΠ·ΡΡ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° readline 8.2, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² bash Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄.
ΠΡ ΠΊΠ»ΡΡΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈΠΌ:
- ΠΡΠ΅ΠΏΠΈΡΠ°Π½ ΠΊΠΎΠ΄ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π·Π° Π·Π°ΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ (command substitution, ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄ ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π΄ΡΡΠ³Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«$(command)Β» ΠΈΠ»ΠΈ `command`). ΠΠΎΠ²Π°ΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΡΠ΅ΡΠ° bison ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΠΎ-Π΄ΠΎΠ±ΡΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΠΈ ΡΠ°Π½Π½ΠΎ ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² Π·Π°ΠΌΠ΅ΡΡΠ²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
- ΠΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΎ Π΅ ΡΠ°Π·ΡΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅ Π½Π° ΠΌΠ°ΡΠΈΠ²ΠΈΡΠ΅. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Β«@Β» ΠΈ Β«*Β» Π² Π²Π³ΡΠ°Π΄Π΅Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° unset Π·Π° Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΡΡΠ° Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π½ΡΠ»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π»ΠΈΡ ΠΌΠ°ΡΠΈΠ².
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Β«patsub_replacementΒ», ΠΏΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΡΡΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΡΡ Β«&Β» Π² Π·Π°ΠΌΠ΅Π½ΡΠ½Π°ΡΠ° ΡΡΡΠΎΠΊΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΡΠ°ΡΡ ΠΎΡ ΡΡΡΠΎΠΊΠ°ΡΠ°, ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡΠ° Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠ°Π±Π»ΠΎΠ½. ΠΠ° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° Π»ΠΈΡΠ΅ΡΠ° Ρ Β«&Β» Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° ΡΠ΅ Π΅ΠΊΡΠ°Π½ΠΈΡΠ° Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ Π½Π°ΠΊΠ»ΠΎΠ½Π΅Π½ Π·Π½Π°ΠΊ.
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΎ Π΅ ΡΠΈΡΠ»ΠΎΡΠΎ Π½Π° ΡΠΈΡΡΠ°ΡΠΈΠΈΡΠ΅, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΡΠ°Π·ΠΊΠ»ΠΎΠ½ΡΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, fork Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° Β«$(<file)Β».
- Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ Π½ΠΎΠ² Π²ΡΡΡΠ΅ΡΠ΅Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Π·Π° ΡΠ°ΠΉΠΌΠ΅Ρ ΠΈ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ°ΠΉΠΌΠ°ΡΡΠΈ.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° Π΅ΡΠ°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ (configure βenable-alt-array-implementation) Π½Π° Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΌΠ°ΡΠΈΠ²ΠΈΡΠ΅, ΠΊΠΎΡΡΠΎ Π΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΡΠΊΠΎΡΠΎΡΡ Π½Π° Π΄ΠΎΡΡΡΠΏ Π² ΡΡΡΡΠ± Π½Π° ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΎΡΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ.
- Π Π°Π·ΡΠΈΡΠ΅Π½Π° Π΅ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π½Π° ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈΡΠ΅ $ββ¦β ΠΈ $Β»β¦Β», ΠΏΡΠΈΠ»Π°Π³Π°Π½ΠΈ ΠΏΡΠΈ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°ΡΠΈΡ. ΠΠΎΠ±Π°Π²Π΅Π½ΠΈ ΡΠ° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° noexpand_translations ΠΈ ΠΎΠΏΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Β«configure βenable-translatable-stringsΒ», ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Π»ΠΎΠΊΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ $Β»β¦Β».
- ΠΠΎΠ±Π°Π²Π΅Π½Π° ΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Β«globskipdotsΒ», ΠΊΠΎΡΡΠΎ Π·Π°Π±ΡΠ°Π½ΡΠ²Π° Π²ΡΡΡΠ°Π½Π΅ΡΠΎ Π½Π° Β«.Β» ΠΈ Β«..Β» ΠΏΡΠΈ ΡΠ°Π·ΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΡΠΈΡΠ°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
