Kirjoittaja Aihe: update.sh kuvake [ratkaistu]  (Luettu 226 kertaa)

Jakke77

  • Käyttäjä
  • Viestejä: 3325
  • Oulu (Oinaansuo)
    • Profiili
    • MasterJ
update.sh kuvake [ratkaistu]
« : 06.12.17 - klo:11.27 »
mitenhän tämän saa suoritumaan klikkaamalla kuvaketta, sais päätteessä avautua

Koodia: [Valitse]
#!/bin/bash
set -e
sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
« Viimeksi muokattu: 07.12.17 - klo:14.35 kirjoittanut Jakke77 »
U_G_H

AimoE

  • Käyttäjä
  • Viestejä: 1024
    • Profiili
Vs: update.sh
« Vastaus #1 : 06.12.17 - klo:12.37 »
Siirrä sudo eri kohtaan:

Koodia: [Valitse]
#!/bin/bash
if [ "$(whoami)" != "root" ]
then
    sudo $0
    return
fi
set -e
apt-get update
apt-get upgrade
apt-get dist-upgrade

Lisäksi, jos haluat että koodin voi ajaa sekä komentoriviltä että sille tehdyn käynnistimen kautta, ja jos käynnistimen määritys (.desktop-tiedosto) sisältää asetuksen Terminal=true, eli suoritusta varten avataan pääteikkuna jossa näet miten suorituksen kävi, niin silloin koodiin tarvitaan yksi rivi lisää:

Koodia: [Valitse]
#!/bin/bash
if [ "$(whoami)" != "root" ]
then
    sudo $0
    [ $SHLVL -eq 1 ] && { printf "sulje> " ; read any; }
    return
fi
set -e
apt-get update
apt-get upgrade
apt-get dist-upgrade

Komentoriviltä suoritettuna siis pysäytystä (read any) ei tehdä, koska se tarvitaan vain jos käynnistys tehtiin käynnistimen kautta.

Tuo koodi kelpaisi kyllä myöskin dash:lle, mutta silloin testattava $SHLVL-arvo on 0.

AimoE

  • Käyttäjä
  • Viestejä: 1024
    • Profiili
Vs: update.sh
« Vastaus #2 : 06.12.17 - klo:13.46 »
Vastauksestani taisi puuttua se oleellisin eli miten käynnistys tehdään. Tärkintä on että sinulla on kyseiseen tiedostoon suoritusoikeus (chmod +x), jolloin sen voi suorittaa tiedostoa klikkaamalla jos tiedostoselain (Nautilus) on asetettu sallimaan suoritus.

Mutta käynnisin on yleensä kätevin keino tehdä skriptistä klikkaamalla suoritettava. Tässä malliksi eräs käynnistin jonka olen tehnyt itselleni toiseen tarkoitukseen. Osannet soveltaa sitä; vaihdat tuossa kaikki kohdat jotka ovat suomeksi (ja lisäksi kohta Icon, jossa valitset jonkun sopivamman kuvan tai poistat rivin).

Koodia: [Valitse]
[Desktop Entry]
Type=Application
Name=Salakansio
GenericName=Viritys
Comment=Salakansion liitos tai irrotus
Categories=Utility;
Icon=folder-open
Exec=/home/haltia/bin/piilo
Terminal=true

Talleta koodi  tiedostoon jonka nimen loppu on ".desktop" ja vie tiedosto  hakemistoon ~/.local/share/applications ja annat siihenkin suoritusoikeuden (chmod +x ~/.local/share/applications/*).
« Viimeksi muokattu: 06.12.17 - klo:13.48 kirjoittanut AimoE »

Jakke77

  • Käyttäjä
  • Viestejä: 3325
  • Oulu (Oinaansuo)
    • Profiili
    • MasterJ
Vs: update.sh
« Vastaus #3 : 07.12.17 - klo:14.34 »
Vastauksestani taisi puuttua se oleellisin eli miten käynnistys tehdään. Tärkintä on että sinulla on kyseiseen tiedostoon suoritusoikeus (chmod +x), jolloin sen voi suorittaa tiedostoa klikkaamalla jos tiedostoselain (Nautilus) on asetettu sallimaan suoritus.

Mutta käynnisin on yleensä kätevin keino tehdä skriptistä klikkaamalla suoritettava. Tässä malliksi eräs käynnistin jonka olen tehnyt itselleni toiseen tarkoitukseen. Osannet soveltaa sitä; vaihdat tuossa kaikki kohdat jotka ovat suomeksi (ja lisäksi kohta Icon, jossa valitset jonkun sopivamman kuvan tai poistat rivin).

Koodia: [Valitse]
[Desktop Entry]
Type=Application
Name=Salakansio
GenericName=Viritys
Comment=Salakansion liitos tai irrotus
Categories=Utility;
Icon=folder-open
Exec=/home/haltia/bin/piilo
Terminal=true

Talleta koodi  tiedostoon jonka nimen loppu on ".desktop" ja vie tiedosto  hakemistoon ~/.local/share/applications ja annat siihenkin suoritusoikeuden (chmod +x ~/.local/share/applications/*).

tämäpä näytti toimivan, kiitti
U_G_H

Jakke77

  • Käyttäjä
  • Viestejä: 3325
  • Oulu (Oinaansuo)
    • Profiili
    • MasterJ
Vs: update.sh kuvake [ratkaistu]
« Vastaus #4 : 07.12.17 - klo:16.42 »
kiitti teille, pari käytännöllistä kuvaketta sain käyttöön ;)
U_G_H