
Ilang araw na ang nakalipas, inanunsyo ng proyektong GNU ang paglabas ng bagong bersyon ng Bash 5.3, ang sikat na command interpreter na nananatiling default na opsyon sa karamihan ng mga distribusyon ng Linux.
Ang bagong bersyong ito ay kumakatawan sa halos tatlong taon ng trabaho , kung saan ang mga pagpapabuti ay hindi lamang ginawa sa wika at pag-uugali ng shell, kundi ipinakilala rin ang mga bagong tampok upang ihanay ito sa mga modernong pamantayan tulad ng C23. Sinamahan din ito ng paglabas ng Readline 8.3 library.
Ano ang bago sa Bash 5.3
Isa sa mga pinakakapansin-pansing pagbabago sa Bash 5.3 ay ang pagpapakilala ng mga bagong paraan ng pagpapalit ng utos: `${ command; }` at `${|command;}` . Pinapayagan ka nitong maharang ang output ng isang utos nang hindi lumilikha ng child process o gumagamit ng mga pipeline, kaya binabawasan ang pagkonsumo ng mapagkukunan at pinapabuti ang pagganap. Ang resulta ay maaaring direktang maiimbak sa variable na `REPLY`, na nagpapadali sa mga karaniwang gawain sa pagkuha ng output.
Ang isa pang bagong tampok na ipinakilala sa GNU Bash 5.3 ay ang bagong variable na GLOBSORT, na nagbibigay-daan sa iyong tukuyin ang pamantayan sa pag-uuri kapag nagpapalawak ng mga path ng file. Maaaring mag-uri-uri ang mga user ayon sa pangalan, laki, petsa ng pagbabago, at higit pa, na may mga opsyon para sa parehong pataas at pababang pagkakasunud-sunod.
Bukod pa rito, ipinakikilala ng Bash 5.3 ang mga pagpapabuti sa ilang built-in na command. Maaari na ngayong iimbak ng command na `compgen` ang mga nabuong pagkumpleto sa isang variable (`-V varname`), habang kasama na ngayon sa `read` ang opsyong `-E` para magamit ang Readline library gamit ang mga autocomplete rule ng Bash. Pinahusay din ang `source`, na ngayon ay sumusuporta sa `-p PATH` para baguhin ang search path.
Bukod pa rito, ang utos na umask ay inayos upang ganap na sumunod sa ispesipikasyon ng POSIX , at ang printf ay pinahusay na may mga bagong opsyon para sa mga multibyte string at alternatibong representasyon ng karakter at string.
C23 compatibility at goodbye sa K&R C
Isa sa mga pinakamahalagang pagbabago sa istruktura ay ang pag-aampon ng pamantayang C23 sa source code ng Bash. Bilang resulta, inalis ang suporta para sa "K&R C" mode compilation , isang pamamaraan na nagmula pa sa mga unang araw ng wikang C.
Sa kabilang banda, ang Bash 5.3 ay nagpapakilala ng ilang mai-load na mga utos tulad ng:
- kv: upang bumuo ng mga nag-uugnay na array mula sa data sa key-value na format.
- strptime: kino-convert ang mga petsa sa format ng teksto sa oras ng Unix.
- fltexpr: nagbibigay-daan sa iyo na magsagawa ng mga floating point aritmetika na operasyon, na tinutulad ang pag-uugali ng let.
Bukod pa rito, ang dynamic variable na BASH_MONOSECONDS ay idinaragdag , na nagbibigay ng monotonic system time counter , na kapaki-pakinabang para sa mga gawain kung saan kritikal ang temporal stability.
Sa POSIX mode, nagsasagawa na ngayon ang Bash ng paghahambing ng mga string gamit ang mga operator na < at > habang nirerespeto ang mga setting ng locale. Inaayos din nito ang pag-uugali ng mga utos tulad ng test, trap, wait, at bind, na mahigpit na sumusunod sa mga kinakailangan ng pamantayan. Halimbawa, pinapayagan ka ng `trap -P` na i-print ang aksyon ng trap para sa bawat signal, at pinapabuti ng `wait -n` ang paghawak ng mga natapos na proseso at mga pagpapalit.
Readline 8.3
Nakatanggap din ng malaking update ang Readline library, isang kasama ng Bash. Kabilang sa mga pinakakilalang bagong tampok nito ay ang:
- search-ignore-case: nagbibigay-daan sa mga case-insensitive na paghahanap sa kasaysayan.
- mga pagkumpleto ng pag-export: ine-export ang mga posibleng pagkumpleto ng isang salita para sa panlabas na pagproseso.
- execute-named-command: Nagsasagawa ng mga utos na binasa ang pangalan mula sa karaniwang input, kapaki-pakinabang para sa pag-script at pag-customize.
- Pinahusay na suporta sa macro, mga bagong nako-configure na variable, at mas mahusay na pangangasiwa sa mga dimensyon ng screen pagkatapos ng resume (SIGCONT).
Pag-install at/o Pag-update ng Bash sa Linux
Para sa mga interesado sa pag-install o pag-update ng Bash sa Linux, dapat mong malaman na depende ito sa pamamahagi na iyong ginagamit. Sa ibaba, ipapaliwanag ko kung paano ito gagawin sa mga pangunahing distribusyon:
Sa mga distribusyon na nakabatay sa Debian (tulad ng Ubuntu, Linux Mint)
sudo apt install --only-upgrade bash
Ia-update nito ang Bash sa pinakabagong bersyon na magagamit sa mga opisyal na repositoryo.
Kung gusto mong i-install ito mula sa simula (halimbawa, sa napakaliit na sistema):
sudo apt install bash
Sa mga distribusyon na nakabatay sa Red Hat (tulad ng Fedora, CentOS, RHEL)
sudo dnf update bash Upang i-install ang Bash (kung hindi pa):
sudo dnf i-install ang bash
Sa Arch Linux at mga derivatives (tulad ng Manjaro)
sudo pacman -Syu bash
Ia-update nito ang Bash kasama ang buong system. Upang i-install lamang ang Bash:
sudo pacman -S bash