
Muutama päivä sitten GNU-projekti ilmoitti Bash 5.3:n uuden version julkaisusta. suosittu komentotulkki, joka on edelleen oletusvalinta useimmissa Linux-jakeluissa.
Tämä uusi versio edustaa lähes kolmen vuoden työtä, joka ei ainoastaan toteuta parannuksia komentotulkin kieleen ja toimintaan, vaan myös esittelee uusia ominaisuuksia, jotka yhdenmukaistavat sen nykyaikaisten standardien, kuten C23:n, kanssa. Se tulee myös Readline 8.3 -kirjaston julkaisun mukana.
Bash 5.3:n uutuudet
Yksi merkittävimmistä muutoksista Bash 5.3:ssa on Uusien komentojen korvaamismuotojen esittely: ${command;} ja ${|command;}Näiden avulla voit siepata komennon tulosteen luomatta lapsiprosessia tai käyttämättä prosessiputkia, mikä vähentää resurssien kulutusta ja parantaa suorituskykyä. Tulos voidaan tallentaa suoraan REPLY-muuttujaan, mikä yksinkertaistaa yleisiä tulosteen sieppaustehtäviä.
Toinen uusi GNU Bash 5.3:ssa esitelty ominaisuus on uusi muuttuja GLOBSORT mahdollistaa määrittää lajittelujärjestyksen tiedostopolkuja laajennettaessa. Käyttäjät voivat lajitella nimen, koon, muokkauspäivämäärän ja muiden tekijöiden mukaan sekä nousevassa että laskevassa järjestyksessä.
Lisäksi Bash 5.3 tuo parannuksia useisiin sisäänrakennettuihin komentoihin. Komento compgen voi nyt tallentaa luodut täydennykset muuttujaan (-V muuttujan_nimi), kun taas read lisää -E-option Readline-kirjaston käyttämiseen Bashin automaattisen täydennyksen sääntöjen kanssa. Myös lähdekoodia on parannettu, ja se tukee nyt -p PATH -optiota hakupolun muokkaamiseen.
Samoin komento umaskia on säädetty täysin POSIX-spesifikaation mukaiseksi, ja printf-funktiota on parannettu lisäämällä uusia asetuksia monitavuisille merkkijonoille ja merkkien ja merkkijonojen vaihtoehtoiselle esitystavalle.
C23-yhteensopivuus ja hyvästit K&R C:lle
Yksi tärkeimmistä rakenteellisista muutoksista on ns. C23-standardin käyttöönotto Bash-lähdekoodissa. Tämän seurauksena Tuki "K&R C" -tilassa kääntämiselle on poistettu., tekniikka, joka juontaa juurensa C-kielen alkuaikoihin.
Toisaalta Bash 5.3 esittelee useita ladattavia komentoja, kuten:
- kv: assosiatiivisten taulukoiden luominen avain-arvo-muodossa olevasta datasta.
- strpttime: muuntaa tekstimuodossa olevat päivämäärät Unix-aikaan.
- fltexpr: mahdollistaa liukulukujen aritmeettisten laskutoimitusten suorittamisen jäljitellen let-funktion toimintaa.
Lisäksi, Dynaaminen muuttuja BASH_MONOSECONDS lisätäänEttä tarjoaa monotonisen laskurin järjestelmän ajalle, hyödyllinen tehtävissä, joissa ajallinen vakaus on kriittistä.
POSIX-tilassa Bash suorittaa nyt merkkijonojen vertailuja <- ja >-operaattoreilla. kunnioittaen alueellisia asetuksia. Se myös yhdenmukaistaa komentojen, kuten test, trap, wait ja bind, toiminnan tarkasti standardin vaatimusten mukaisesti. Esimerkiksi trap -P mahdollistaa kunkin signaalin trap-toiminnon tulostamisen, ja wait -n parantaa lopetettujen prosessien ja korvausten hallintaa.
Lue rivi 8.3
Myös Bashin kumppanina toimiva Readline-kirjasto sai merkittävän päivityksen. Sen merkittävimpiä uusia ominaisuuksia ovat:
- hae-ohita-kirjainkoko: sallii kirjainkokoa huomioimattomat haut historiassa.
- viennin valmistumiset: vie sanan mahdolliset täydennykset ulkoista käsittelyä varten.
- suorita-nimetty-komento: Suorittaa komentoja, joiden nimi luetaan vakiosyötteestä, mikä on hyödyllinen skriptauksessa ja mukauttamisessa.
- Parannettu makrotuki, uudet konfiguroitavat muuttujat ja parempi näytön mittojen käsittely ansioluettelon jälkeen (SIGCONT).
Bashin asentaminen ja/tai päivittäminen Linuxissa
Bashin asentamisesta tai päivittämisestä Linuxissa kiinnostuneiden tulisi tietää, että se riippuu käyttämästäsi jakelusta. Alla selitän, miten se tehdään tärkeimmissä jakeluissa:
Debian-pohjaisissa jakeluissa (kuten Ubuntu, Linux Mint)
sudo apt install --only-upgrade bash
Tämä päivittää Bashin uusimpaan versioon, joka on saatavilla virallisissa arkistoissa.
Jos haluat asentaa sen alusta alkaen (esimerkiksi hyvin minimaaliseen järjestelmään):
sudo apt-asennus bash
Red Hat -pohjaisissa jakeluissa (kuten Fedora, CentOS, RHEL)
sudo dnf update bash Bashin asentaminen (jos sitä ei jo asenneta):
sudo dnf asenna bash
Arch Linuxissa ja sen johdannaisissa (kuten Manjaro)
sudo pacman -Syu bash
Tämä päivittää Bashin ja koko järjestelmän. Pelkän Bashin asentaminen:
sudo pacman -S bash