Kirjoittaja Aihe: Kuinka alias tehdään oikein? [RATKAISTU]  (Luettu 3084 kertaa)

Hajakenttä

  • Käyttäjä / moderaattori
  • Viestejä: 1547
    • Profiili
Kuinka alias tehdään oikein? [RATKAISTU]
« : 05.09.14 - klo:21.05 »
Olenko ymmärtänyt asian oikein? Alias on lyhennetty kutsumanimi komentojonolle, joka muuten olisi turhan pitkä ulkoa muistettavaksi ja jota usein kuitenkin tarvitaan.

Se tehdään editoimalla vaikkapa Gedit tekstimuokkaimella tiedostoa .bash_aliases esim. kirjoittamalla päätteeseen näin:

Koodia: [Valitse]
gedit ~/.bash_aliases
ja luomalla sinne rivi jokaiselle aliakselle tällaiseen muotoon:

alias kutsumanimi="komento"

Esim. näin:

Lainaus
alias nollaaswap="sudo swapoff -a && sudo swapon -a"
alias siivoalevy="sudo apt-get autoremove --purge && sudo apt-get autoclean"
alias uusiylelaturi="wget --no-cache -r -O./asenna_autodl homelinuxpc.com/download/asenna_autodl && chmod +x asenna_autodl && ./asenna_autodl"
alias lotto="echo $(shuf -n 7 -i 1-39 | sort -n)"
alias vlotto="echo $(shuf -n 6 -i 1-48 | sort -n)"
alias keno="echo $(shuf -n 10 -i 1-70 | sort -n)"

Lopuksi talletetaan Gedit ja suljetaan se. Sitten viimeistellään asia komentamalla päätteessä:

Koodia: [Valitse]
source ~/.bash_aliases
Nyt pelkkä kutsumanimi antaen voidaan päätteessä ajaa pitkäkin komento.

Mutta, mutta. Miksi noista tekemistäni kolme ensimmäistä toimivat hienosti, mutta kolme viimeistä, lotto, vlotto ja keno eivä toimi? Tulee vain ilmoitus "komentoa ei löydy". Mikä kumma niissä on vikana, kun ne kuitenkin toimivat päätteessä sellaisinaan annettuina?
« Viimeksi muokattu: 05.09.14 - klo:21.59 kirjoittanut Hajakenttä »
DELL Latitude E6220 Xubuntu 20.04, DELL Latitude 5480 Xubuntu 22.04.
– Memento Vivere – Terv: Timo

AimoE

  • Käyttäjä
  • Viestejä: 2714
    • Profiili
Vs: Kuinka alias tehdään oikein?
« Vastaus #1 : 05.09.14 - klo:21.33 »
Muuttuuko tilanne jos vaihdat tuplahipsun " tilalle hipsun?

Hajakenttä

  • Käyttäjä / moderaattori
  • Viestejä: 1547
    • Profiili
Vs: Kuinka alias tehdään oikein?
« Vastaus #2 : 05.09.14 - klo:21.58 »
No nyt toimii. Kiitos neuvosta.  ;D

Vaihdoin siis tämän muodon:

alias kutsumanimi="komento"

muotoon:

alias kutsumanimi='komento'

Jossa siis lainausmerkin (") tilalla on heittomerkki ('), joka ainakin tässä näppiksessä on qwerty-rivillä viimeinen näppäin oikealla.

Kumma kyllä nuo kolme ensimmäistä aliasta toimivat " merkkien välissäkin ja toimivat nyt ' merkkien välissä myös. Tälle syntaksille on tietysti ihan oikeakin muotokieli olemassa, mutta ammattilaiset onkin erikseen.  :o
DELL Latitude E6220 Xubuntu 20.04, DELL Latitude 5480 Xubuntu 22.04.
– Memento Vivere – Terv: Timo

AimoE

  • Käyttäjä
  • Viestejä: 2714
    • Profiili
Vs: Kuinka alias tehdään oikein? [RATKAISTU]
« Vastaus #3 : 05.09.14 - klo:22.12 »
Eron aiheuttaa tuo $() -rakenne siellä hipsujen välissä. Hipsujen valinta ratkaisee milloin $()-lausekkeen arvo evaluoidaan. Tuplahispuilla se tehdään jo aliaksen määrityksessä, ja heittomerkillä vasta sitten kun aliasta käytetään.

SuperOscar

  • Käyttäjä
  • Viestejä: 4000
  • Ocatarinetabellatsumtsum!
    • Profiili
    • Legisign.org
Vs: Kuinka alias tehdään oikein? [RATKAISTU]
« Vastaus #4 : 06.09.14 - klo:15.18 »
Zsh:n (”kilpaileva” komentotulkki) oppaassa annettiin neuvo: ellet tiedä, käytä puolilainausmerkkejä ('…').
pöytäkone 1, kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; NUC: openSUSE Leap 15.5; RPi 1: FreeBSD 13.2-RELEASE; RPi 2: LibreELEC 11

raimo

  • Käyttäjä
  • Viestejä: 4165
  • openSUSE Tumbleweed
    • Profiili
Vs: Kuinka alias tehdään oikein? [RATKAISTU]
« Vastaus #5 : 06.09.14 - klo:16.16 »

Lopuksi talletetaan Gedit ja suljetaan se. Sitten viimeistellään asia komentamalla päätteessä:

Koodia: [Valitse]
source ~/.bash_aliases
Nyt pelkkä kutsumanimi antaen voidaan päätteessä ajaa pitkäkin komento
Kiva kun tuli  lopultakin selvyys noihin hipsuihin, ihmetystä ovat aiheuttaneet. Muistais nyt vaan taas.
Kätevä alias, jota voi käyttää aliaksien muokkaamiseen siten että tuo source .. alias ajetaan autom. muokkausohjelman sulkemisen jälkeen:
Koodia: [Valitse]
alias aliakset='gedit ~/.bash_aliases && source ~/.bash_aliases'ja sitten joko pääte uudelleenkäynnistäen tai tuo source ... komento. Nyt aliaksien muokkaus/käyttöönotto tapahtuu aliakset komennolla.
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

jekku

  • Käyttäjä
  • Viestejä: 2624
    • Profiili
Vs: Kuinka alias tehdään oikein? [RATKAISTU]
« Vastaus #6 : 07.09.14 - klo:09.14 »
----
Kätevä alias, jota voi käyttää aliaksien muokkaamiseen siten että tuo source .. alias ajetaan autom. muokkausohjelman sulkemisen jälkeen:
Koodia: [Valitse]
alias aliakset='gedit ~/.bash_aliases && source ~/.bash_aliases'ja sitten joko pääte uudelleenkäynnistäen tai tuo source ... komento. Nyt aliaksien muokkaus/käyttöönotto tapahtuu aliakset komennolla.


Hanskahäröjen pelko ajaa tapaan että kokeilen sen aliaksen ennen kuin tallennan tiedostoon.
Ja kun tulos tyydyttää niin kopion loitsun asetustiedostoon.

Onneksi tapoja on monia ja jokainen löytänee mieleisensä :)

AimoE

  • Käyttäjä
  • Viestejä: 2714
    • Profiili
Vs: Kuinka alias tehdään oikein? [RATKAISTU]
« Vastaus #7 : 07.09.14 - klo:12.43 »
Hanskahäröjen pelko ajaa tapaan että kokeilen sen aliaksen ennen kuin tallennan tiedostoon.
Ja kun tulos tyydyttää niin kopion loitsun asetustiedostoon.
Niinpä, mutta noin suoraviivaisella testauksella nämä hipsulogiset viat jäävät huomaamatta. Niiden testaamiseksi ainoa keino on se että käynnistää päätteen uudelleen.