Bash 5.3 је стигао са побољшаном заменом команди, новим променљивим и подршком за C23.

басх Линукс

Пре неколико дана Пројекат ГНУ је најавио објављивање нове верзије Баша 5.3, популарни интерпретер команди који остаје подразумевани избор на већини Линук дистрибуција.

Ова нова верзија представља рад од скоро три године, који не само да имплементира побољшања језика и понашања шкољке, већ и уводи нове функције које га усклађују са модерним стандардима попут C23. Такође долази са објављивањем библиотеке Readline 8.3.

Шта је ново у Башу 5.3

Једна од најзначајнијих промена у Bash 5.3 је Увођење нових облика замене команди: ${command;} и ${|command;}Ово вам омогућава да пресретнете излаз команде без креирања подређеног процеса или коришћења цевовода, чиме се смањује потрошња ресурса и побољшавају перформансе. Резултат се може директно сачувати у променљивој REPLY, поједностављујући уобичајене задатке снимања излаза.

Још једна нова функција представљена у GNU Bash 5.3 је нова променљива GLOBSORT омогућава дефинишите редослед сортирања приликом проширивања путања датотека. Корисници могу сортирати по имену, величини, датуму измене и још много тога, са опцијама за растући и опадајући редослед.

Поред тога, Bash 5.3 уводи побољшања неколико уграђених команди. Команда compgen сада може да чува генерисана довршења у променљивој (-V имепроменљиве), док read додаје опцију -E за коришћење библиотеке Readline са Bash-овим правилима аутоматског допуњавања. Изворни код је такође побољшан, сада подржава -p PATH за измену путање претраге.

Исто тако, команда umask је подешен да би у потпуности био у складу са POSIX спецификацијом, а функција printf је побољшана новим опцијама за вишебајтне стрингове и алтернативним представљањем знакова и стрингова.

Компатибилност са C23 и збогом K&R C

Једна од најважнијих структурних промена јесте усвајање стандарда C23 у изворном коду Bash-а. Као резултат тога, Подршка за компајлирање у режиму „K&R C“ је уклоњена, техника која датира још из раних дана програмског језика C.

С друге стране, Bash 5.3 уводи неколико команди које се могу учитати, као што су:

  • кв: да генерише асоцијативне низове из података у формату кључ-вредност.
  • време трајања: конвертује датуме у текстуалном формату у Јуникс време.
  • флтекстр: омогућава вам да изводите аритметичке операције са покретним зарезом, емулирајући понашање функције let.

Поред тога, Додата је динамичка променљива BASH_MONOSECONDSДа пружа монотони бројач системског времена, корисно за задатке где је временска стабилност критична.

У POSIX режиму, Bash сада врши поређење низова помоћу оператора < и >. поштујући регионална подешавања. Такође усклађује понашање команди као што су test, trap, wait и bind, пажљиво пратећи захтеве стандарда. На пример, trap -P вам омогућава да испишете акцију trap сваког сигнала, а wait -n побољшава управљање прекинутим процесима и заменама.

Readline 8.3

Библиотека Readline, пратећа библиотека за Bash, такође је добила значајно ажурирање. Међу њеним најзначајнијим новим функцијама су:

  • претрага-игнорисање-великих-слова: омогућава претраге без разликовања великих и малих слова у историји.
  • извоз-завршених: извози могуће допуне речи за екстерну обраду.
  • изврши-именовану-команду: Извршава команде чије се име чита са стандардног улаза, корисно за скриптовање и прилагођавање.
  • Побољшана подршка за макрое, нове подесиве променљиве и боље руковање димензијама екрана након наставка (SIGCONT).

Инсталирање и/или ажурирање Bash-а на Linux-у

За оне који су заинтересовани за инсталирање или ажурирање Bash-а на Linux-у, требало би да знају да то зависи од дистрибуције коју користите. У наставку ћу објаснити како то да урадите на главним дистрибуцијама:

На дистрибуцијама заснованим на Дебијану (као што су Ubuntu, Linux Mint)

sudo apt install --only-upgrade bash

Ово ће ажурирати Баш на најновију верзију доступну у званичним репозиторијумима.

Ако желите да га инсталирате од нуле (на пример, на веома минималном систему):

sudo apt install bash

На дистрибуцијама заснованим на Red Hat-у (као што су Fedora, CentOS, RHEL)

sudo dnf update bash Да бисте инсталирали Bash (ако већ није):
судо днф инсталл басх

На Arch Linux-у и његовим дериватима (као што је Manjaro)

судо пацман -Сју басх

Ово ће ажурирати Bash заједно са целим системом. Да бисте инсталирали само Bash:

судо пацман -С басх