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: [bash] Ak je premenna cislo...  (Přečteno 2316 krát)

dimmuboy

[bash] Ak je premenna cislo...
« kdy: 11 Listopadu 2011, 22:36:00 »
Zdravim,
mam tu skriptik ktory mi funguje v tty ale ked spustim samotny skript tak vypise
Kód: [Vybrat]
new.sh: 5: [[: not found
skrip:
Kód: [Vybrat]
#!/bin/bash

if [[ "`hddtemp /dev/sda -n`" = [0-9][0-9] ]]; then
   echo "`hddtemp /dev/sda`";
fi
Notebook Lenovo U165 - 11,6", AMD Athlon II K625, 4 GB DDR3 RAM, 500 GB HDD, ATI Radeon HD 4200
https://twitter.com/#!/dimmu_boy

pacholik

  • Závislák
  • ***
  • Příspěvků: 2072
Re:[bash] Ak je premenna cislo...
« Odpověď #1 kdy: 11 Listopadu 2011, 23:00:55 »
[[ je bashovská fičura, ujisti se že to fakt spouštíš bashem a ne sh

dimmuboy

Re:[bash] Ak je premenna cislo...
« Odpověď #2 kdy: 11 Listopadu 2011, 23:04:43 »
aha, veru pravda, a co to ma ako znamenat? preco to sh nezhltne?
Notebook Lenovo U165 - 11,6", AMD Athlon II K625, 4 GB DDR3 RAM, 500 GB HDD, ATI Radeon HD 4200
https://twitter.com/#!/dimmu_boy

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:[bash] Ak je premenna cislo...
« Odpověď #3 kdy: 11 Listopadu 2011, 23:16:45 »
aha, veru pravda, a co to ma ako znamenat? preco to sh nezhltne?

Protože Dash není Bash ;) Mimochodem k čemu je tato podmínka dobrá, resp. co jí řešíš?

dimmuboy

Re:[bash] Ak je premenna cislo...
« Odpověď #4 kdy: 11 Listopadu 2011, 23:18:16 »
je to skript pre conky aby mi zobrazovalo teplotu externeho disku ked ho pripojim
Notebook Lenovo U165 - 11,6", AMD Athlon II K625, 4 GB DDR3 RAM, 500 GB HDD, ATI Radeon HD 4200
https://twitter.com/#!/dimmu_boy

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:[bash] Ak je premenna cislo...
« Odpověď #5 kdy: 11 Listopadu 2011, 23:42:02 »
Takže podmínkou pro zjištění, zda je disk připojen je dvouciferné číslo na výstupu z hddtemp? Navíc hddtemp se musí spouštět pod rootem, nebo mu musíš nastavit výjimku pro sudo, nebo to řešit dalšími způsoby :), což je zbytečné, protože conky to umí i bez těchto úprav.
Já osobně řeším detekci připojených externích disků přes obsah adresáře /media/, kam se mi automaticky připojují, teplotu disku umí conky sám a bez roota. Z terminálu jde vypsat teplotu i takto, pokud je spuštěn démon hddtemp(který se startuje po instalaci automaticky se systémem):
Citace
netcat localhost 7634|sed 's/||/\n|/g'|grep sda|cut -d '|' -f4
« Poslední změna: 11 Listopadu 2011, 23:50:23 od GdH »

dimmuboy

Re:[bash] Ak je premenna cislo...
« Odpověď #6 kdy: 11 Listopadu 2011, 23:50:23 »
ja to mam uz vyriesene takto
Kód: [Vybrat]
if [[ "`hddtemp /dev/sda -n 2>/dev/null`" = [0-9][0-9] ]]; then
   echo "`hddtemp /dev/sda | cut -d ':' -f 2- | cut -c 2-`";
fi
Viem ze sa to da aj cez netcat ale mne funguje hddtemp aj bez roota, zda sa mi ze som to niekde konfiguroval ale nie som si isty a vo visudo vynimku nema. Okrem toho chcem aby mi zistoval mountnute disky cez /dev/sd* kvoli tomu ze mi na disku ktory pripajam cez eSATA konektor nefunguje automount a neviem to vyriesit. Viem ze ho musim aj tak mountnut, ale takto riesene mi to pride jednoduchsie i ked trochu vulgarne :D
Notebook Lenovo U165 - 11,6", AMD Athlon II K625, 4 GB DDR3 RAM, 500 GB HDD, ATI Radeon HD 4200
https://twitter.com/#!/dimmu_boy

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:[bash] Ak je premenna cislo...
« Odpověď #7 kdy: 11 Listopadu 2011, 23:58:37 »
Pokud ti jde o fyzické disky v /dev/, můžeš přeci rovnou testovat na existenci ten konkrétní soubor - tedy ve tvém příkladu /dev/sda. Pokud bys to chtěl řešit dynamicky, není problém si vylistovat /dev/sd. , třeba vyházet ze seznamu ty, které máš připojené stále a řešíš staticky, a pro zbytek zobrazit info, které tě zajímá.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:[bash] Ak je premenna cislo...
« Odpověď #8 kdy: 12 Listopadu 2011, 00:02:14 »
Jinak automatický mount jde řešit přes pravidla udev, ale chce to trochu studia.

dimmuboy

Re:[bash] Ak je premenna cislo...
« Odpověď #9 kdy: 12 Listopadu 2011, 00:04:23 »
ja viem.. studoval som to aj trochu ale bohuzial bevysledne.. nic mi nefungovalo a nasiel som akurat vela diskusii o tom ako eSATA nemountuje automaticky :/
Notebook Lenovo U165 - 11,6", AMD Athlon II K625, 4 GB DDR3 RAM, 500 GB HDD, ATI Radeon HD 4200
https://twitter.com/#!/dimmu_boy

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:[bash] Ak je premenna cislo...
« Odpověď #10 kdy: 12 Listopadu 2011, 00:33:52 »
Když už přistoupím na tvé řešení, tak takto se mi to zdá snesitelnější:
Kód: [Vybrat]
[ -e /dev/sda ] && hddtemp /dev/sda | cut -d ' ' -f2-

dimmuboy

Re:[bash] Ak je premenna cislo...
« Odpověď #11 kdy: 12 Listopadu 2011, 13:49:14 »
to GdH: inak cital som ze mas na tvojej stranke odkaz na conkyHardcore, mas to oskusane? a nevies mi poradit s tymto? ...topic=58747
Notebook Lenovo U165 - 11,6", AMD Athlon II K625, 4 GB DDR3 RAM, 500 GB HDD, ATI Radeon HD 4200
https://twitter.com/#!/dimmu_boy

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:[bash] Ak je premenna cislo...
« Odpověď #12 kdy: 14 Listopadu 2011, 17:51:39 »
to GdH: inak cital som ze mas na tvojej stranke odkaz na conkyHardcore, mas to oskusane? a nevies mi poradit s tymto? ...topic=58747

Promiň, Conky Hardcore už je delší dobu mrtvola, link jsem odstranil, a conkyEmail jsem nikdy nepoužíval, GMail jsem vybíral příkazem z BASHe, takže s tím ti bohužel neporadím.

dimmuboy

Re:[bash] Ak je premenna cislo...
« Odpověď #13 kdy: 14 Listopadu 2011, 23:10:12 »
aha, fajn aspon viem ze uz sa tym nemam zaoberat :)
Notebook Lenovo U165 - 11,6", AMD Athlon II K625, 4 GB DDR3 RAM, 500 GB HDD, ATI Radeon HD 4200
https://twitter.com/#!/dimmu_boy

 

Provoz zaštiťuje spolek OpenAlt.