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

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: Spouštění skriptu v terminálu [vyřešeno]  (Přečteno 1736 krát)

Jan Skořepa

  • Závislák
  • ****
  • Příspěvků: 1243
    • Zobrazit profil
    • JaSovy stránky
Spouštění skriptu v terminálu [vyřešeno]
« kdy: 26 Červenec 2007, 09:17:22 »
Dobrý den,

mám skript v bashi ve spustitelném souboru skript.sh:
Kód: [Vybrat]
#!/bin/bash

příkaz1
příkaz2
...
příkazx
Když jednotlivé příkazy spustím napsáním v terminálu, na obrazovce se spustí i aktuální výpis toho, co se zrovna provádí (např. komprese, archivace, konverze). Když spustím ten skript, nevím, co zrovna probíhá, ani jestli už se skript ukončil, nebo se stále ještě provádí.

Nevíte prosím někdo, jak to udělat, aby se poklepáním na jméno skriptu spustilo též i terminálové okno s výpisem o aktuálně prováděných operacích? Díky moc.

Našel jsem jen tohle:
Kód: [Vybrat]
xterm -e '<příkaz pro terminál>'takže bych to asi musel ve skriptu řešit takto:
Kód: [Vybrat]
#!/bin/bash

xterm -e 'příkaz1'
xterm -e 'příkaz2'
xterm -e '...'
xterm -e 'příkazx'
Zdá se mi to komplikované, tohle ke každému řádku přidávat. Nešlo by to řešit jednodušeji? Díky moc za odpovědi.
« Poslední změna: 11 Červenec 2009, 21:51:03 od Jan Skořepa »
MB ASUS P5KPL/EPU - CPU Pentium(R) Dual-Core E5300 2600 MHz - RAM 4 GB DDR2 - GK GIGABYTE GeForce 8400 GS - OS Debian Stable (64bit)

snop

  • Člen
  • **
  • Příspěvků: 366
    • Zobrazit profil
Spouštění skriptu v terminálu
« Odpověď #1 kdy: 26 Červenec 2007, 10:30:31 »
vytvor skript, kde napis vsetky pozadovane prikazy. ted si vytvor druhy skript, kterym budes spoustet prvy skript a to nasledovne
Kód: [Vybrat]
#!/bin/sh
xterm -e "prvy skript && read"
kdyz chces, aby se vzdy vykonal prikaz read, musis zabezpecit, aby prvy skript vzdy skoncit true, teda posledny prikaz musi byt
Kód: [Vybrat]
exit 0
...........................--== sNop ==--............................
-- pgp - http://radeonvmod.ic.cz/keys/snop3.asc --
              AMD Sempron 2800+  1024MB RAM               ATI Radeon 9550        2x80GB HDD

Jan Skořepa

  • Závislák
  • ****
  • Příspěvků: 1243
    • Zobrazit profil
    • JaSovy stránky
Spouštění skriptu v terminálu
« Odpověď #2 kdy: 26 Červenec 2007, 11:12:37 »
Díky za odpověď, večer to vyzkouším.

A co je to ten příkaz "read"? K čemu je dobrý? Nebo to je jen jako příklad řetězení skriptů?
MB ASUS P5KPL/EPU - CPU Pentium(R) Dual-Core E5300 2600 MHz - RAM 4 GB DDR2 - GK GIGABYTE GeForce 8400 GS - OS Debian Stable (64bit)

snop

  • Člen
  • **
  • Příspěvků: 366
    • Zobrazit profil
Spouštění skriptu v terminálu
« Odpověď #3 kdy: 26 Červenec 2007, 14:19:53 »
Citace: albi
Díky za odpověď, večer to vyzkouším.

A co je to ten příkaz "read"? K čemu je dobrý? Nebo to je jen jako příklad řetězení skriptů?
Kód: [Vybrat]
man read;)
po vypsani vsech vystupu do terminalu, se nakonec provede prikaz read, ktery ceka na stisk klavesy, jinak by ti iba preblikl xterm a nevidel by si zadnej vystup
...........................--== sNop ==--............................
-- pgp - http://radeonvmod.ic.cz/keys/snop3.asc --
              AMD Sempron 2800+  1024MB RAM               ATI Radeon 9550        2x80GB HDD

Jan Skořepa

  • Závislák
  • ****
  • Příspěvků: 1243
    • Zobrazit profil
    • JaSovy stránky
Spouštění skriptu v terminálu
« Odpověď #4 kdy: 26 Červenec 2007, 21:35:55 »
Příkaz v terminálu "man read" mi napíše, že "Manuálová stránka pro read nebyla nalezena". :(

Ale příkaz "read" mi funguje - je to super, protože bych to ponechání zobrazeného okna už nemusím řešit příkazem "sleep" jako doposud v jiných skriptech.

Zkusil jsem to podle Vašeho návrhu a funguje mi to. Díky moc! :)
« Poslední změna: 11 Červenec 2009, 21:50:42 od Jan Skořepa »
MB ASUS P5KPL/EPU - CPU Pentium(R) Dual-Core E5300 2600 MHz - RAM 4 GB DDR2 - GK GIGABYTE GeForce 8400 GS - OS Debian Stable (64bit)

kkaarreell

  • Závislák
  • ****
  • Příspěvků: 1072
    • Zobrazit profil
Spouštění skriptu v terminálu
« Odpověď #5 kdy: 27 Červenec 2007, 13:22:15 »
Citace: albi
Příkaz v terminálu "man read" mi napíše, že "Manuálová stránka pro read nebyla nalezena". :(
To bude zrejme proto, ze prikaz read je soucasti shellu a ne samostatny program, musel byste jej tedy hledat v manualove strance bashe.

Jan Skořepa

  • Závislák
  • ****
  • Příspěvků: 1243
    • Zobrazit profil
    • JaSovy stránky
Spouštění skriptu v terminálu
« Odpověď #6 kdy: 27 Červenec 2007, 13:27:22 »
Aha, já totiž reagoval na to, jak mi psal snop, že abych zjistil, co příkaz "read" dělá, tak mám napsat "man read". Tak díky za vysvětlení. :)
MB ASUS P5KPL/EPU - CPU Pentium(R) Dual-Core E5300 2600 MHz - RAM 4 GB DDR2 - GK GIGABYTE GeForce 8400 GS - OS Debian Stable (64bit)

snop

  • Člen
  • **
  • Příspěvků: 366
    • Zobrazit profil
Spouštění skriptu v terminálu
« Odpověď #7 kdy: 27 Červenec 2007, 14:15:44 »
kdyz mas nainstalovane man stranky manpages-posix, glibc-doc a manpages-dev tak funguje i man read. nevim presnev kterem baliku to je, ale mysli ze v man strankach posixu, funkcne by to i sedelo
...........................--== sNop ==--............................
-- pgp - http://radeonvmod.ic.cz/keys/snop3.asc --
              AMD Sempron 2800+  1024MB RAM               ATI Radeon 9550        2x80GB HDD