Π Π΅Π»ΠΈΠ· Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½Π°Ρ‚Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ° Bash 5.3

Π‘Π»Π΅Π΄ ΠΏΠΎΡ‡Ρ‚ΠΈ Ρ‚Ρ€ΠΈ Π³ΠΎΠ΄ΠΈΠ½ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° командния ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ GNU Bash 5.3 Π΅ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½Π° ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅ Π² ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ дистрибуции Π½Π° Linux. Π’ ΡΡŠΡ‰ΠΎΡ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π΅ ΠΈΠ·Π΄Π°Π΄Π΅Π½ Ρ€Π΅Π»ΠΈΠ· Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° readline 8.3, която сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² bash Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° командния Ρ€Π΅Π΄.

ΠžΡ‚ ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈΡ‚Π΅ подобрСния ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΎΡ‚Π±Π΅Π»Π΅ΠΆΠΈΠΌ:

  • Π Π΅Π°Π»ΠΈΠ·ΠΈΡ€Π°Π½ΠΈ са Π½ΠΎΠ²ΠΈ Ρ„ΠΎΡ€ΠΌΠΈ Π·Π° подмяна Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Β«${ command; }Β» ΠΈ Β«${|command;}Β», ΠΊΠΎΠΈΡ‚ΠΎ позволяват ΠΏΡ€ΠΈΡ…Π²Π°Ρ‰Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ…ΠΎΠ΄Π° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Π±Π΅Π· отклоняванС Π½Π° ΠΎΡ‚Π΄Π΅Π»Π΅Π½ Π΄ΡŠΡ‰Π΅Ρ€Π΅Π½ процСс ΠΈ Π±Π΅Π· ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π½Π΅Π½Π°Π·ΠΎΠ²Π°Π½ΠΈ ΠΊΠ°Π½Π°Π»ΠΈ. Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ΠΈΡ‚Π΅ ΠΎΡ‚ ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° сС Π΄Π°Π²Π°Ρ‚ ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ ΠΎΡ‚ подмяната ΠΈΠ»ΠΈ сС записват Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° REPLY.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° GLOBSORT, опрСдСляща Π½Π°Ρ‡ΠΈΠ½ΡŠΡ‚ Π½Π° сортиранС ΠΏΡ€ΠΈ допълванС Π½Π° файловия ΠΏΡŠΡ‚. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ сортиранС ΠΏΠΎ ΠΈΠΌΠ΅ (GLOBSORT=name), Ρ€Π°Π·ΠΌΠ΅Ρ€ (GLOBSORT=size) ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° промяна (GLOBSORT=mtime), ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π΄Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚Π΅Π½ (ΠΎΡ‚ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ към ΠΏΠΎΠ²Π΅Ρ‡Π΅) ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π΅Π½ (ΠΎΡ‚ ΠΏΠΎΠ²Π΅Ρ‡Π΅ към ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ) Ρ€Π΅Π΄ Π½Π° сортиранС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с Β«GLOBSORT=-sizeΒ» ΠΏΡŠΡ€Π²ΠΎ Ρ‰Π΅ сС ΠΏΠΎΠΊΠ°ΠΆΠ°Ρ‚ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅).
  • Π’Π³Ρ€Π°Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«compgenΒ» Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° опция Β«-V varnameΒ» Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈΡ‚Π΅ допълнСния Π² ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°, вмСсто Π΄Π° сС ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Ρ‚ Π² стандартния ΠΏΠΎΡ‚ΠΎΠΊ.
  • Π’Π³Ρ€Π°Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«readΒ» Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° опция Β«-EΒ», която ΠΏΡ€ΠΈ въвСТданС Π½Π° Π΄Π°Π½Π½ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° readline с ΠΏΡ€Π°Π²ΠΈΠ»Π° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ допълванС Π½Π° конструкции bash.
  • Π’Π³Ρ€Π°Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«sourceΒ» Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»Π° опция Β«-p PATHΒ», която позволява Π΄Π° сС ΠΏΡ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈ ΡΠΏΠΈΡΡŠΠΊΡŠΡ‚ Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΈΡ‚Π΅ ΠΏΡŠΡ‚ΠΈΡ‰Π° (ΡƒΠΊΠ°Π·Π°Π½Π°Ρ‚Π° стойност сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° вмСсто ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°Ρ‚Π° $PATH).
  • Π˜Π·Ρ…ΠΎΠ΄Π½ΠΈΡΡ‚ ΠΊΠΎΠ΄ Π΅ ΠΏΡ€Π΅Π²Π΅Π΄Π΅Π½ Π½Π° стандарт C23. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚Π΅Π½Π° Π΅ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅ с ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌ Β«K&R CΒ» (стил, ΡΡŠΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²Π°Ρ‰ Π½Π° описаниСто Π½Π° Π΅Π·ΠΈΠΊΠ° C Π² ΠΊΠ½ΠΈΠ³Π°Ρ‚Π° Β«The C Programming LanguageΒ» Π½Π° ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½ ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ).
  • Π’Π³Ρ€Π°Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«umaskΒ» осигурява пълна ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ със спСцификациитС POSIX.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π΅ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«kvΒ», която Ρ„ΠΎΡ€ΠΌΠΈΡ€Π° асоциативСн масив Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Π½Π°Π±ΠΎΡ€ ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Β«ΠΊΠ»ΡŽΡ‡ стойност».
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π΅ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«strptimeΒ», която ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ²Π° тСкстовото прСдставянС Π½Π° Π΄Π°Ρ‚Π° ΠΈ час Π² Π΅ΠΏΠΎΡ…Π°Π»Π½ΠΎ Π²Ρ€Π΅ΠΌΠ΅ (Π±Ρ€ΠΎΠΉ сСкунди ΠΎΡ‚ 1 януари 1970 Π³ΠΎΠ΄ΠΈΠ½Π°).
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π΅ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Β«fltexprΒ», която позволява изпълнСниС Π½Π° Π°Ρ€ΠΈΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΏΠ»Π°Π²Π°Ρ‰Π° запСтая, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° let.
  • Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Π·Π°Π΄Π°Π²Π°Π΅ΠΌΠ° ΠΏΡ€ΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π° BASH_MONOSECONDS, която ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° стойност Π½Π° систСмнитС ΠΌΠΎΠ½ΠΎΡ‚ΠΎΠ½Π½ΠΈ часовници, ΠΊΠΎΠΈΡ‚ΠΎ Π½Π΅ΠΏΡ€Π΅ΠΊΡŠΡΠ½Π°Ρ‚ΠΎ сС ΡƒΠ²Π΅Π»ΠΈΡ‡Π°Π²Π°Ρ‚, Π΄ΠΎΡ€ΠΈ ΠΊΠΎΠ³Π°Ρ‚ΠΎ Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ сС промСня ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ.
  • Π’ Ρ€Π΅ΠΆΠΈΠΌ POSIX, сравнСниСто Π½Π° Π½ΠΈΠ·ΠΎΠ²Π΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«testΒ», ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈ «», сСга сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° с ΠΎΠ³Π»Π΅Π΄ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° локализация.
  • Π’ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«bind -xΒ» Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ раздСлянСто Π½Π° клавиш ΠΈ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° с ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π», Π°ΠΊΠΎ послСдоватСлността Π΅ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π² Π΄Π²ΠΎΠΉΠ½ΠΈ ΠΊΠ°Π²ΠΈΡ‡ΠΊΠΈ.
  • Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия Π½Π° Readline Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° опцията Β«search-ignore-caseΒ» Π·Π° Ρ‚ΡŠΡ€ΡΠ΅Π½Π΅ Π² историята Π±Π΅Π· Π΄Π° сС Π²Π·Π΅ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄ Ρ€Π΅Π³ΠΈΡΡ‚ΡŠΡ€Π° Π½Π° символитС. Π”ΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«export-completionsΒ» Π·Π° СкспортиранС Π½Π° ΠΎΠΏΡ†ΠΈΠΈ Π·Π° допълванС Π½Π° Π΄ΡƒΠΌΠ° Π·Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² Π΄Ρ€ΡƒΠ³ΠΈ процСси. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π΅ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π° Β«execute-named-commandΒ» Π·Π° изпълнСниС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Ρ‡ΠΈΠΉΡ‚ΠΎ ΠΈΠΌΠ΅ Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ ΠΎΡ‚ стандартния Π²Ρ…ΠΎΠ΄.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster