Kirjoittaja Aihe: Ohjeita shell-skriptaukseen (bash)  (Luettu 378956 kertaa)

MikkoJP

  • Käyttäjä
  • Viestejä: 1148
  • iBook 600 MHz + Debian 4.0
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #20 : 03.01.08 - klo:16.28 »
Miten sitä ei eilen tajunnut että kone täytyy käynnistää uudelleen niin että tuo kotihakemiston /bin löytyy  ;D

Eikös pelkkä komentotulkin käynnistäminen riitä?? Siis kirjoittamalla komentotulkissa
Koodia: [Valitse]
bash tai avaamalla uusi pääteikkuna...

larpa

  • Vieras
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #21 : 25.02.08 - klo:07.30 »
Tuolta löytyy myös parit hyvät linkit aiheesta.
http://unix-kurssi.oamk.fi/

Rautamiekka

  • Käyttäjä
  • Viestejä: 439
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #22 : 26.05.08 - klo:01.40 »
Innostuin shell scriptauksesta :D Epäselvää on if-lauseen käyttö, että miksi pitää käyttää hakasulkuja sekä mitä tarkoittaa epälooginen tekstipläjäys tyyliin
Koodia: [Valitse]
if [ "$t" -ne $DUPE_CARD ] ?

dhc7

  • Käyttäjä
  • Viestejä: 49
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #23 : 12.06.08 - klo:19.51 »
Pistetäänpäs ketjun jatkoksi kysymystä.

Yritin väsätä skriptiä, joka ensin muuttaa jonkin hakemiston sisältämien tiedostojen omistajan samaksi ja sitten siirtää fileet toiseen hakemistoon. Kummankin käskyn edessä on sudo. Toimii hienosti, jos ajan skriptin päätteeltä. Mutta kuinkas tuon saisi toimimaan myös valikon kautta (skripti on hakemistossa .gnome2/nautilus-scripts) niin, että hiiren oikealla saisi menusta tuon ajettua? Pitäisi se salasana päästä antamaan, joten yritin moista lisäämällä skriptiin rivin exec gnome-terminal joka kyllä avaa päätteen mutta homma jää siihen.

Kokeilin myös muotoa (tässä vain omistajan vaihto):
Koodia: [Valitse]
#!/bin/bash
exec gnome-terminal --command="sudo chown user2:user2 /home/user1/test/*"


Onko tässä nyt vain joku pikku jippo vai vaatiiko moinen homma jo rivikaupalla lisää koodia? Nyt en niinkään hae vaihtoehtoisia tapoja tehdä haluamaani asiaa (voin kyllä ihan hyvin ajaa skriptin päätteeltä), vaan juttu kiinnostaa noin yleisesti.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11486
    • Profiili
    • Tomin kotisivut
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #24 : 12.06.08 - klo:19.59 »
Eikös kannattaisi sitten ajaa se koko skripti gksu:lla? ::)
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

dhc7

  • Käyttäjä
  • Viestejä: 49
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #25 : 12.06.08 - klo:20.03 »
Eikös kannattaisi sitten ajaa se koko skripti gksu:lla? ::)

Niin se varmaan toimisi, mutta kuinka teen sen sieltä valikosta käsin?

janne

  • Käyttäjä
  • Viestejä: 5150
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #26 : 12.06.08 - klo:20.15 »
Innostuin shell scriptauksesta :D Epäselvää on if-lauseen käyttö, että miksi pitää käyttää hakasulkuja sekä mitä tarkoittaa epälooginen tekstipläjäys tyyliin
Koodia: [Valitse]
if [ "$t" -ne $DUPE_CARD ] ?

tämä on vähän vanha, mutta vastataan silti...

siis tuo if ei itsessään ymmärrä merkkijonoista mitään, vaan tekee päätöksensä sille annettujen lukuarvojen perusteella. tuo [ puolestaan on testioperaattori jonka avulla erilaisia ehtoja pystyy arvioimaan ja joka palauttaa arvioinnin tuloksen if:n ymmärtämässä muodossa.

if osaa arvioida esim. suoritettujen komentojen paluuarvoja, joten seuraava luonnollisesti onnistuu:
Koodia: [Valitse]
if `/bin/true`
then
    echo "totta"
fi

tuo epälooginen tekstipläjäys puolestaan on se mitä siinä arvioidaan. nuo $-merkillä alkavat ovat muuttujia ja tuo -ne siinä välissä vertailuoperaattori.
Janne

dhc7

  • Käyttäjä
  • Viestejä: 49
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #27 : 13.06.08 - klo:19.22 »
Eikös kannattaisi sitten ajaa se koko skripti gksu:lla? ::)

Niin se varmaan toimisi, mutta kuinka teen sen sieltä valikosta käsin?

Näköjään onnistuu, jos muuttaa skriptin sisäiset sudoilut gksudoiksi. Silloin pyydetään salasanaa ja sudoilut onnistuvat. Mutta edelleenkään homma ei toimi kuten yritin, koska pääte ei ole auki suorituksen aikana. Tarkoituksena olisi näyttää joitakin suoritukseen liittyviä tietoja päätteeseen.

Mutta taitaa olla vähän hankalampi juttu, ainakin näin olen muita vastaavia ihmettelyjä lukiessa todennut.

Muoks: Korjaus.

OH2FPG

  • Vieras
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #28 : 12.08.09 - klo:17.12 »
Moi,
Onko kenelläkään tietoa miten saisin avattua nettisivun Bash-skriptauksella?

gdm

  • Sitä saa mitä tilaa...
  • Käyttäjä
  • Viestejä: 4363
    • Profiili
    • Keskustelualueiden säännöt
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #29 : 12.08.09 - klo:17.16 »
Moi,
Onko kenelläkään tietoa miten saisin avattua nettisivun Bash-skriptauksella?

Koodia: [Valitse]
#!/bin/bash
x-www-browser http://haluttu.sivu
Lisää [Ratkaistu] aloitusviestiin jos ongelmasi selviää!
Saamasi tuki on ilmaista, joten älä vaadi tai uhkaile saadaksesi apua!

peran

  • Vieras
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #30 : 13.08.09 - klo:01.50 »
Mikäli riittää ladata html-koodit sivulta, muttei sivun kuvia ja muita, niin silloin riittää wget.

Koodia: [Valitse]
wget http://forum.ubuntu-fi.org

raimo

  • Käyttäjä
  • Viestejä: 4269
  • openSUSE Tumbleweed
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #31 : 13.08.09 - klo:17.08 »
Koodia: [Valitse]
#!/bin/bash
x-www-browser http://haluttu.sivu

Joo, mutta sh on huomattavasti kevyempi/nopeampi yms. kuin bash, eli
Koodia: [Valitse]
#!/bin/sh
x-www-browser http://haluttu.sivu

No ei mulla muuta asiaa sit ollukkaan, eikä tuokaan asia nyt ole maita kaatava, mutta kuitenkin...  ;D
Tietä käyden tien on vanki. Vapaa on vain umpihanki.
Aaro Hellaakoski

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #32 : 13.08.09 - klo:17.20 »
Joo, mutta sh on huomattavasti kevyempi/nopeampi yms. kuin bash, eli

Suurimmassa osassa Linux-jakeluita /bin/sh on symbolisesti linkattu /bin/bash. Periaatteessa ajatus on kuitenkin oikea.

jkorhonen

  • Käyttäjä
  • Viestejä: 3
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #33 : 15.11.09 - klo:13.26 »
Englanninkielisiä ohjesivustoja on paljon, mutta haluaisin tuoda esiin yhden jota olen käyttänyt niin bash kuin myös windows skriptauksissa. Tämän sivuston huomasin itse käteväksi, kun olen joskus tehnyt monia skriptejä windowsin puolella ja halusin opetella vastaavien skriptien tekoa myös bashin puolella.

http://ss64.com/bash/

petteriIII

  • Käyttäjä
  • Viestejä: 693
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #34 : 28.03.10 - klo:10.29 »
Olen aina halunnut käyttööni kunnollista funktiokirjastoa mielellään BASH-funktioista; esimerkkejähän on internetti täynnä, mutta niiden etsimisessä on aikamoinen homma ja useimmiten ne soveltuvat sinällään vain johonkin erikoistapaukseen. Ihmeekseeni BASHista löytyy funktio-kirjastojen liitoskäsky (ohjelman alkuun rivi (huomaa piste alussa): . funktiokirjaston_nimi_polkuineen ) joten löydettyäni sen aloin himoita valmiita kirjastoja (saavat jopa maksaa vähäsen). Tietääkö joku mistä sellaisia saisi ?   

cabaro

  • Käyttäjä
  • Viestejä: 131
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #35 : 06.11.10 - klo:21.25 »
Joo, mutta sh on huomattavasti kevyempi/nopeampi yms. kuin bash, eli

Suurimmassa osassa Linux-jakeluita /bin/sh on symbolisesti linkattu /bin/bash. Periaatteessa ajatus on kuitenkin oikea.


Ubuntussa tuo taitaapi kuitenkin olla /bin/sh -> /bin/dash

$> ls -la /bin/sh
lrwxrwxrwx 1 root root 4 2010-10-30 14:13 /bin/sh -> dash

/cab

petteriIII

  • Käyttäjä
  • Viestejä: 693
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #36 : 24.12.10 - klo:17.07 »
Rullahiirellä ohjattava Valikko:

Koodia: [Valitse]
#!/bin/bash   
# Valikko_funktiot rullahiirelle   16.5.2012 petteriIII
# Valikko_funktion parametrit: Otsikko1=koko 2. rivi. Jos se on annettu sitä käytetään mutta jos ei ole niin Otsikko1 muodostetaan automaattisesti. Otsikko1:stä otetaan CRC-32 ja se yksilöikin kutsujan hyvin. Ulkopuolinen ohjelma saattaa käyttää sitä. Otsikko2=merkit 38-157 rivillä 1.
# muu "dokumentointi" on skriptissä nimeltä: Valikonesittely.

function AsetaPaate {  #kbdrate -r 40 80 # -> X environment: xset r rate 240 60 # paketti wmctrl ?
#reset # varmistetaan että aloitetaan puhtaalta pöydältä; toimii paremmin skriptiajurissa && sleep .1
RivienLuku=$(($(tput lines)-5)) # näytön riviluku. 5 on otsikon+yläpalkin viemä tila
RivinPituus=$(tput cols)        # näyttörivin merkkiluku.
echo 'Näyttö-funktio kirjastoa kutsuva ohjelma: ' $(basename $0)'  Riviluku:'$RivienLuku'   rivinpituus:'$RivinPituus
gconftool -s /apps/gnome-terminal/profiles/Default/title --type string $(basename $0)
apu=$(gconftool -g /apps/gnome-terminal/profiles/Default/default_size_columns)
gconftool -s /apps/gnome-terminal/profiles/Default/use_custom_default_size --type bool true
gconftool -s /apps/gnome-terminal/profiles/Default/default_size_columns --type integer 240 # Näyttörivin maximi pituus
gconftool -s /apps/gnome-terminal/profiles/Default/default_size_rows --type integer 60     # Näyttörivien maximi määrä
gconftool -s /apps/gnome-terminal/profiles/Default/use_theme_colors --type bool false
gconftool -s /apps/gnome-terminal/profiles/Default/scrollback_unlimited --type bool true
gconftool -s /apps/gnome-terminal/profiles/Default/default_show_menubar --type bool true   # tulee voimaan vasta toisella ajokerralla
gconftool -s /apps/gedit-2/preferences/editor/line_numbers/display_line_numbers --type bool true
raja=112\101\116\116\101\114\105\73\73\73
[[ ! "$apu" = 240 ]] && killall gnome-terminal
}

function tilastoa {
tput cup 0 0; tput setf 3
apu=$kanta/"$KansionNimi"/'ARKISTO/skriptit/'"${Valittavat[ValitunNumero-1]}"
[[ -d "$apu" ]] && [[ $(ls "$apu") ]] && echo -n "Editointikopioita:"$(ls "$apu" | sort -g | tail -n 1) || echo -n '    editointikopioita ei ole'
apu=$kanta/"$KansionNimi"/'ARKISTO/dokumentit/'"${Valittavat[ValitunNumero-1]}"
[[ -d "$apu" ]] && [[ $(ls "$apu") ]] && echo -n "  Dokumenttikopioita:"$(ls "$apu" | sort -g | tail -n 1) || echo -n '    dokumenttikopioita  ei ole'
apu=$kanta/"$KansionNimi"/'ARKISTO/historiat/'*
[[ -d "$apu" ]] && [[ $(ls "$apu") ]] && echo -n "  historiatietoja: "$(wc -l $apu | awk {'print $1'}) | tail -1 || echo -n '    historiatietoja ei ole'
echo -n "      paina enter jatkaakseesi "; read  #
tput cup 0 0; echo -en "\r\033[K$Otsikko2"
#key=''; echo 'näpäytä hiiren vasenta jatkaakseesi'; until [[ ${key:3:1} = "#" ]]; do echo -en "\e[?1000h"; read -n6 -s -t0.02 key ; echo -en "\e[?1001h"; done
}

 
function MuutaValittuPunaiseksi {
tput cup 2 $(($RivinPituus-45)) 
apu=$kanta/$KansionNimi/'ARKISTO/skriptit/'"${Valittavat[ValitunNumero-1]}"
tput setf 3;echo "näpäytä_tästä_käyttöohjeet    erikoistoimet" #Editointeja:"$(ls "$apu" | sort -g | tail -n 1)"                   "
#tput cup 0 0; cat $kanta/$KansionNimi/"${Valittavat[ValitunNumero-1]}"  | head -2 # esimerkiksi tutkittaessa historioita
Xkoordinaatti=$(((ValitunNumero - 1 - $(((ValitunNumero - 1) / RivienLuku))) / RivienLuku)); Ykoordinaatti=$((ValitunNumero - $((RivienLuku * Xkoordinaatti -1))+3));tput cup $((Ykoordinaatti - Xkoordinaatti - 2)) $((Xkoordinaatti * SarakkeenPituus));  tput setf 4; echo "${Valittavat[ValitunNumero-1])}"
}

function MuutaValittuVihreaksi {
  Xkoordinaatti=$(((ValitunNumero - 1 - $(((ValitunNumero - 1) / RivienLuku))) / RivienLuku)); Ykoordinaatti=$((ValitunNumero - $((RivienLuku * Xkoordinaatti - 1))+3));tput cup $((Ykoordinaatti - Xkoordinaatti - 2)) $((Xkoordinaatti * SarakkeenPituus));  tput setf 3; echo "${Valittavat[ValitunNumero-1])}"
}

function TulostaValittavat {
clear
tput setf 3
echo -e $Otsikko2'\n'$Otsikko1'\n'                     
ValittavienLuku=${#Valittavat[@]}
SarakkeidenLuku=$(($((ValittavienLuku-2))/RivienLuku+1))
SarakkeenPituus=$((RivinPituus/SarakkeidenLuku))
for (( Rivi=0; Rivi<=RivienLuku; Rivi++ )) 
do
  nayttoRivi='' # koe, ettei nayttoRivi olisi koskaan määrittelemätön
  for (( Sarake=0; Sarake<=SarakkeidenLuku-1; Sarake++ ))   
  do   
    naytettava=${Valittavat[Sarake*RivienLuku+Sarake+Rivi]}"                                                                                           "
    nayttoRivi="$nayttoRivi"${naytettava:0:$SarakkeenPituus}  # mitä sarakkeita näyttörivillä ennestään onkin ja uusi sarake lisää
  done
  echo "${nayttoRivi:0:$RivinPituus}"; nayttoRivi=''
done 
}

function MuutaValittuNuolinappaimilla {
MuutaValittuPunaiseksi
 echo -en "\e[?1000h"; read -n6 -s -t0.02 key ; echo -en "\e[?1001h"
stty -echo
if [[ ${key:3:1} = "a" ]]; then MuutaValittua -1; fi  # rullaus ylös
if [[ ${key:3:1} = "\`" ]]; then MuutaValittua 1; fi  # rullaus alas
if [[ ${key:3:1} = "!" ]]; then tilastoa; fi          # hiiren rullan näpäytys
if [[ ${key:3:1} = "#" ]]; then valintatehty=1; x=$(LC_CTYPE=C printf '%d' "'${key:4:1}"); y=$(LC_CTYPE=C printf '%d' "'${key:5:1}")
  [[ $y = 35 ]] && [[ $x > $(($RivinPituus+15)) ]] && Tapahtuma=erikoistoimet && valintatehty=1 && return
  [[ $y = 35 ]] && [[ $x > $(($RivinPituus-12)) ]] && Tapahtuma=käyttöohjeet && valintatehty=1 && return
  [[ $y > 35 ]] && MuutaValittuVihreaksi && ValitunNumero=$((y-35+((x-33)*(SarakkeidenLuku))/RivinPituus*(RivienLuku+1))) && MuutaValittuPunaiseksi && return
valintatehty=0
fi                                                         
}

function MuutaValittua () {
MuutaValittuVihreaksi
ValitunNumero=$(($ValitunNumero+$1))
[[ $ValitunNumero -lt 1 ]] && TulostaValittavat && ValitunNumero=1 # TulostaValittavat lisätty
[[ $ValitunNumero -gt $ValittavienLuku ]] && ValitunNumero=$ValittavienLuku # apu->ValittavienLuku; -2 lisätty poistettu
}
 
function ValitseValittavistaYksi () {
[[ ${#Valittavat} == 0 ]] && echo 'ei ole valittavaa' && sleep 2 && valintatehty=1 && break
AsetaPaate
local Otsikko1 Otsikko2 key valintatehty=0 Xkoordinaatti Ykoordinaatti   
[[ ! $ValitunNumero || $ValitunNumero -lt 1 || $ValitunNumero -gt ${#Valittavat[@]} ]] && ValitunNumero=1
setterm -cursor off 
Otsikko1="$1"; [[ ! "$Otsikko1" ]] && Otsikko1='Ohjelma: '$0' pyytää valitsemaan näistä'
Otsikko2="$2"
crc=$(echo $Otsikko1 | cksum | awk {'print $1'}) # cksum=32bittinen crc, sha1sum ->160bittinen ...
TulostaValittavat
valintatehty=0
Tapahtuma=""
while [ $valintatehty -lt 1 ] ; do MuutaValittuNuolinappaimilla;  done
tput setf 0; setterm -reset; stty echo
ValitunTeksti=${Valittavat[ValitunNumero-1]}
[[ ! ${ValittavanArvo[ValitunNumero-1]} ]] && ValitunArvo='ei määritelty' || ValitunArvo=${ValittavanArvo[ValitunNumero-1]}
}

function lue_näppäimistöltä () {
# Tämä rutiini tuo sen että vanhoja rivejä voi selata ja riviä voi editoida. Historiatiedosto on kansio- ja kysyttävän muutujan nimi-kohtainen.
# kutsu: lue_näppäimistöltä <kysyttävän muuttujan nimi> <kysymysteksti jonka merkkivalikoimaa ei ole rajoitettu>
historia_tiedoston_nimi="$2" # "$2" oli $1
historiatiedosto=$kanta/"$KansionNimi"/ARKISTO/historiat/"$historia_tiedoston_nimi"
[[ ! -d $kanta/"$KansionNimi"/ARKISTO/historiat ]] && mkdir -p $kanta/"$KansionNimi"/ARKISTO/historiat 
[[ ! -f "$historiatiedosto" ]] && echo 'historian alku' > "$historiatiedosto"   # kysymykselle luodaan kysymyksen tekstin mukainen historia-tiedosto
apu=$(eval echo \$$1)
[[ "$apu" != $(tail -1  "$historiatiedosto") ]] &&  echo "$apu" >>  "$historiatiedosto" # kysytty arvo viedään heti historiaan josta sitä voi siis kutsua jo ensimmäisellä kerralla # koe lisäys
history -r  "$historiatiedosto"
echo -e "\nEdellisiä vastauksia voi selailla nuolinäppäimillä. Näytöä voi vierittää hiirellä. Myös editointi toimii. Kirjoita vaikkei kysymysmerkkiä näykään\n\n"$2
read -e $1 # apu oli 1 myös seuraavassa lauseessa
eval echo \$$1 >>  "$historiatiedosto"
}
 
function muuta_uusi_nimi_valituksi {
täytä_valittavat $kanta/"$KansionNimi"
for (( n=1; n<=${#Valittavat[@]}; n++ )); do [[ $SkriptinNimi = ${Valittavat[n-1]} ]] && break; done
echo $n > $kanta/"$KansionNimi"/ARKISTO/ViimeksiValittuSkriptiTässäKansiossa # kokeiltava toimiiko
}

function täytä_valittavat () {
kansio=$@ # kun listattavaksi tulee kansio jonka nimessä on välilyöntejä siirtyy jokainen sana omassa parametrissaan ja ne täytyy liittää yhteen
find "$kansio" -size 0b -delete; find "$kansio" -type f -name \*~ -delete; find "$kansio" -type f -name .~lock* -delete; find "$kansio" -type f -name delme -delete
eval Valittavat=(".edellinen_kansio." " "     $(ls "$kansio" -Q --group-directories-first))
}

function command_not_found_handle () {
# tämännimistä funktiota kutsutaan käyttöjärjestelmän toimesta automaattisesti mikäli skriptissä viitataan käskyyn jollaista ei löydy.
komennon_nimi=$1
shift
echo "ohjelma:"${BASH_SOURCE}" Rivino:"${BASH_LINENO}
echo "seuraavaa käskyä ei löydy: \""$komennon_nimi\"""
echo "käskyn argumentit ovat: ""$@"
echo
kaskysta_on_puhuttu_paketeissa=$(apt-cache search $komennon_nimi)
[[ $(echo $kaskysta_on_puhuttu_paketeissa | grep ^$1) ]] && paketin_nimi=$(echo $kaskysta_on_puhuttu_paketeissa | grep ^$1) ||
paketin_nimi= $(echo $kaskysta_on_puhuttu_paketeissa | awk {'print $1'})
echo " paketin määrittelyä: "$paketin_nimi
sudo apt-get install ${komennon_nimi} || echo "siitä on puhuttu paketeissa: "$kaskysta_on_puhuttu_paketeissa
exit
}
 

 
« Viimeksi muokattu: 16.05.12 - klo:06.18 kirjoittanut petteriIII »

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #37 : 06.01.11 - klo:17.23 »
Lukaisin pikaisesti tuota läpi ja näytti etenevän ok mutta yksi kohta ei auennut:
Lainaus
....Sitten paina näytön toiseksi ylimmältä riviltä merkkiä x...
kun ei osunut silmään missään mikä tuo "x" voisi olla. 

Toki sen asian löytää kun klikkaa hiiren oikealla tuota harjoitustiedostoa, valitsee "Ominaisuudet" ja sieltä "Oikeudet" välilehti, ruksia kohtaan "Salli tiedoston suoritus ohjelmana".
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.

petteriIII

  • Käyttäjä
  • Viestejä: 693
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #38 : 07.01.11 - klo:09.55 »
Lukaisin pikaisesti tuota läpi ja näytti etenevän ok mutta yksi kohta ei auennut:
Lainaus
....Sitten paina näytön toiseksi ylimmältä riviltä merkkiä x...
kun ei osunut silmään missään mikä tuo "x" voisi olla. 


Taisi siis selvitä jo: kyseessä on se ohjelman lopetusnappi ylärivillä - se josta kiistellään pitäisikö se sijoittaa oikeaan vai vasempaan reunaan. Enemmän Ubuntua käyttäneet ymmärtäisivät ilmanmuuta paremmin jos sanoisi vain: sulje ohjelma.

Yritin mahdotonta, ei tuo tosiaan ollut selvästi esitetty. Syy yritykseen oli se, että Linux on mielestäni turvonnut sotku joka kenties lakkaisi turpoamasta jos suosittaisiin alkeellisia menetelmiä niinkuin esimerkiksi BASH ohjelmointia.

Siis tarkemmin: BASH on alkeellinen normaalissa ohjelmoinnissa. Vaan eipä sitä ole normaaliin ohjelmointiin tarkoitettukaan.

ajaaskel

  • Palvelimen ylläpitäjä
  • Käyttäjä
  • Viestejä: 3401
    • Profiili
Vs: Ohjeita shell-skriptaukseen (bash)
« Vastaus #39 : 07.01.11 - klo:12.51 »
Lainaus
jos suosittaisiin alkeellisia menetelmiä niinkuin esimerkiksi BASH ohjelmointia.
Oikeastaan noita BASH-ohjelmia on Linux jakeluissa aika paljon jo perusjärjestelmässä. 
Jo muutamilla riveillä saa joskus ihmeen paljon aikaan mutta kirjoittaminen isommassa määrin pelkän BASH: in avulla voi olla tuskallista verrattuna johonkin ohjelmointikieleen.  Tuntuisi että pelkkä peräkkäin suoritettavien tehtävien automatisointi sujuu tuolla helposti tai myöskin vaikeasti muistettavien komentosarjojen piilottaminen helpompaan muotoon yhden komennon taakse.
Autamme ilolla ja ilmaiseksi omalla ajallamme.  Ethän vaadi, uhoa tai isottele näin saamasi palvelun johdosta.