Kirjoittaja Aihe: Eikös näitä ollut linuxillekkin?  (Luettu 3110 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

marxx

  • Vieras
Eikös näitä ollut linuxillekkin?
« : 20.04.2007 - klo:21:24 »
Muistan Windowsin DOS aikaan kun oli kätevää tehdä .bat tiedostoja komennoille joilla saa komennon lisätoiminnot käyttöön helposti.
Eikäs linuxillekkin ollut tämä mahdollista? Voisiko joku pätevä ohjeistaa yksinkertaiselle? Vaikka ihan esimerkin kanssa...

esimerkiksi: Haluan saada pelkällä ls komenolla järjestyksen niin että kaikki akkosjärjestyksessä mutta kansiot ensin (luonnollisesti ;)).

Kiitos ja kumarrus!

fsu

  • Vieras
Vs: Eikös näitä ollut linuxillekkin?
« Vastaus #1 : 20.04.2007 - klo:21:48 »
Jeps.. dos aikaan oli bat-scriptejä. Linuxissa voit scriptata komentokehoitetulkkeja(kuten bash:a).

Tässä on todalla yksinkertainen esimerkki:
Koodia: [Valitse]
#!/bin/sh

# ls listaa hakemistot ja tiedostot
ls

- ensimmäinen rivi kertoo, millä komennolla scripti ajetaan. Tämä on kaikissa sh-scripteissä sama.
- #-alkuiset rivit on kommentteja.
- ls on komento, kuten kirjoittaisit sen kehoitteeseen

Shell-scripteillä voi tehdä paljon monimutkaisempia juttuja, kuin bat-scripteillä. Voit tutustua esim. tekemääni getInfo -scriptiin: http://opensuse.fi/stuff/getInfo

Lisää apua löytyy useilta nettisivuilta, kuten:
- http://www.tldp.org/LDP/abs/html/
- http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html
sekä bashin manuaalista: man bash
Kannattaa myös muistaa, että lähes jokaisella komennolla on oma manuaali. esim. man ls antaa neuvoja ls-komennosta.

Jotta voit suorittaa scriptin, sinun täytyy asettaa tiedosto suoritettavaksi. Tämä käy chmod -komennolla seuraavasti:
Koodia: [Valitse]
chmod a+x tiedosto
Dos:ssa oli myös path-ympäristömuuttuja. Sama path -muuttuja löytyy myös Linuxista. openSUSE:ssa voit asettaa omat scriptit automaattisesti ~/bin -hakemistoon, jolloin ne on automaattisesti suoritettavissa mistä tahansa.

Kuitenkin palatakseni ongelmaasi, kuinka listata hakemistot ja tiedostot ja järjestellä hakemistot ensimmäiseksi.
laita ~/.bashrc -tiedostoon seuraava rivi:
Koodia: [Valitse]
export LS_OPTIONS="$LS_OPTIONS --group-directories-first"
Toivottavasti pääset alkuun!