Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Problematické začiatky skriptovania...  (Přečteno 1883 krát)

Michal "Tylnesh" Kohútek

  • Administrátor fóra
  • Stálý člen
  • ******
  • Příspěvků: 1076
    • Lords Of Tech
Problematické začiatky skriptovania...
« kdy: 28 Února 2010, 17:58:03 »
Dobrý deň, potreboval by som poradiť s jedným skriptom, ktorý som si napísal, aby som sa vyhol tomu otravnému stmavovaniu obrazovky počas dlhšej nečinnosti (napr. pozeranie filmu). Pôvodne som spravil dva veľmi jednoduché, prvý ktorý gnome-screensaver a gnome-power-manager vypol, druhý, ktorý ich opätovne zapol. Povedal som si však, že dve ikonky na tray-i sa mi príliš nepáčia a ako riešenie nie sú zrovna elegantné, preto som si kukol podmienky a napísal som toto:
Kód: [Vybrat]
#!/bin/bash
if [ "$(pidof gnome-screensaver)" && "$(pidof gnome-power-manager)"  ]
then killall gnome-screensaver && killall gnome-power-manager
else gnome-screensaver && gnome-power-manager
fi

vyhodí mi to toto
Kód: [Vybrat]
./pokus.sh: line 2: [: missing `]'

** (gnome-screensaver:18511): WARNING **: screensaver already running in this session

Vtipné je, že kým tam bolo len gnome-screensaver, všetko išlo ako malo...
https://lordsoftech.com

Registered Linux User #506395

--- Smartphone 0: Apple iPhone 11
--- Smartphone 1: OnePlus 3T - Ubuntu Touch
--- Laptop 0: Apple Macbook Air M1
--- Laptop 1: Lenovo Thinkpad X1 Carbon Gen 3
--- Workstation: Ryzen 7 2700X, RX 5700XT, 32GB RAM
--- Other: Niekolko kusov od kazdeho vydaneho variantu Raspberry Pi

premet

  • Host
Re: Problematické začiatky skriptovania...
« Odpověď #1 kdy: 28 Února 2010, 18:29:56 »
Zkus místo
Kód: [Vybrat]
if [ "$(pidof gnome-screensaver)" && "$(pidof gnome-power-manager)"  ]toto
Kód: [Vybrat]
if [[ "$(pidof gnome-screensaver)" && "$(pidof gnome-power-manager)"  ]]
Není to vtip, Bash to tak má  8)

« Poslední změna: 28 Února 2010, 18:31:34 od Premet »

Michal "Tylnesh" Kohútek

  • Administrátor fóra
  • Stálý člen
  • ******
  • Příspěvků: 1076
    • Lords Of Tech
Re: Problematické začiatky skriptovania...
« Odpověď #2 kdy: 28 Února 2010, 18:41:43 »
Aha... ďakujem... stále mi však zostal ten druhý problém, v prípade, keď sú tie dva procesy spustené...
BTW Je počet hranatých zátvoriek ten istý ako počet príkazov v podmienke?
https://lordsoftech.com

Registered Linux User #506395

--- Smartphone 0: Apple iPhone 11
--- Smartphone 1: OnePlus 3T - Ubuntu Touch
--- Laptop 0: Apple Macbook Air M1
--- Laptop 1: Lenovo Thinkpad X1 Carbon Gen 3
--- Workstation: Ryzen 7 2700X, RX 5700XT, 32GB RAM
--- Other: Niekolko kusov od kazdeho vydaneho variantu Raspberry Pi

premet

  • Host
Re: Problematické začiatky skriptovania...
« Odpověď #3 kdy: 28 Února 2010, 18:57:34 »
Myslím, že ne, ale co to vyzkoušet  ;)
nebo ekvivalentní zápis je
Kód: [Vybrat]
if [ foo ] && [ bar ]; then ....
A ten druhý problém sem nepochopil o co jde ?

Michal "Tylnesh" Kohútek

  • Administrátor fóra
  • Stálý člen
  • ******
  • Příspěvků: 1076
    • Lords Of Tech
Re: Problematické začiatky skriptovania...
« Odpověď #4 kdy: 28 Února 2010, 19:05:02 »
Keď ten skript pustím v konzole, tak ak je gnome-screensaver už zapnutý, tak miesto jeho vypnutia mi vypíše toto:
Kód: [Vybrat]
** (gnome-screensaver:18511): WARNING **: screensaver already running in this session
https://lordsoftech.com

Registered Linux User #506395

--- Smartphone 0: Apple iPhone 11
--- Smartphone 1: OnePlus 3T - Ubuntu Touch
--- Laptop 0: Apple Macbook Air M1
--- Laptop 1: Lenovo Thinkpad X1 Carbon Gen 3
--- Workstation: Ryzen 7 2700X, RX 5700XT, 32GB RAM
--- Other: Niekolko kusov od kazdeho vydaneho variantu Raspberry Pi

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: Problematické začiatky skriptovania...
« Odpověď #5 kdy: 01 Března 2010, 01:28:50 »
Keď ten skript pustím v konzole, tak ak je gnome-screensaver už zapnutý, tak miesto jeho vypnutia mi vypíše toto:
Kód: [Vybrat]
** (gnome-screensaver:18511): WARNING **: screensaver already running in this session

Co ma ten script robit? Nie je mi uplne jasna podstata toho o co sa snazis.
Naozaj chces aby to robilo toto:
Ak su oba pustene, zabi ich oba, inak(ak nie su oba naraz spustene) spusti oba po sebe. Druha vec je, ze gnome-power-manager nevracia chod do shellu, ale ho blokuje, cize ak ho chces spustat tak s & na konci.

Lebo podla mna robi to, co si mu napisal, aby robil. Mas spusteny iba jeden process z tych dvoch, tak ich nezabija(podmienka je false, lebo true je iba ak oba bezia subezne), ale pokusi sa spustit oba procesy(taku logiku si chcel?), co skonci chybou, ze gnome-screensaver ti uz bezi.



ntbk Dell 6420 (Amd Ati, Intel i7, 4GB RAM, 256GB SSD ...)
secondary/u svokrovcov:
Xubuntu (64bit) ntbk Asus A6Je (Ati X1450, Intel Core2Duo T5500, 2.5GB RAM ...)

 

Provoz zaštiťuje spolek OpenAlt.