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: editor pro psaní scriptu [vyřešeno]  (Přečteno 4318 krát)

daton

  • Aktivní člen
  • *
  • Příspěvků: 113
editor pro psaní scriptu [vyřešeno]
« kdy: 19 Května 2011, 07:31:27 »
Dobrý den
Jsem začátečník a prosím o radu. Chtěl bych si zkusit psát scripty v bash ale nějak nevím jak na to. Z win jsem byl zvyklý že něco stvořím např v ps padu nebo podobném programu a hodím to do prográmku a už to jede.
V linuxu jsem objevil mousepad. Mám ale stále problémy jak vytvořit soubor se skriptem, a jakou mu dát příponu. Vím že existuje editor vi nebo vim ale jsou pro začátečníka jsou oba dost komplikované. Prosím nemáte někdo tip na dobrý editor?

Druhá otázka zkoušel jsem  příkaz at načasování spuštění scriptu. Vytvořil jsem tedy jednoduchý script na

#!/bin/bash  
  echo "Hello world."

zkusil jsem ho dát uložit jako soubor pokus.txt

 chmod x pokus.txt    no a pak jsem zadal   at 8:00 14.5.2011 /pokus.txt

ale v syntaxy je chyba zřejmě jsem to špatně uložil. Máte někdo nějaký nápad jak? ;) ;)
« Poslední změna: 20 Května 2011, 19:04:02 od Martin - ViPEr*CZ* »

On

  • Stálý člen
  • **
  • Příspěvků: 1136
    • Operační systémy
Re: editor pro psaní scriptu
« Odpověď #1 kdy: 19 Května 2011, 09:13:24 »
Na skriptování osobně používám "gedit", který je součástí instalace Ubuntu...např pro editaci souboru "pokus.sh", spusť:

Kód: [Vybrat]
gedit pokus.sh
...soubor se vytvoří v aktuálním adresáři - čili pokud najedeš do terminálu, tak soubor pokus.sh najdeš v /home/USER

Příponu *.sh jsem zvolil záměrně, pač osobně skriptuji jen v shellu Bash...můžeš použít klidně i python nebo perl, jak je libo ...s Bashem jsem si se vším vždy vystačil. Podle interpreteru, který jsi použil ty (#!/bin/bash) budeš ale Bash používat též..

Co se týká "at", tak s tím moc neporadím, do skriptu jsem to nikdy nepoužil..když chci něco spouštět časovaně, tak používám Cron

Asus M2A-VM HDMI, Athlon 64 X2 4800+, 4GB DDR2/800Mhz,Powercolor HD 2600 XT, Ubuntu 10.10
Být posledním nevadí, ale nikdy nesmíte být poslední dvakrát po sobě - Iacocca

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: editor pro psaní scriptu
« Odpověď #2 kdy: 19 Května 2011, 09:15:38 »
Na pripone suboru nezalezi, ale zvykom je davat nazovScriptu.sh. Dolezita su prava, ktore si nastavoval cez
Kód: [Vybrat]
chmod +x nazovScriptu.sh. Ku prikazu at pozri
Kód: [Vybrat]
man at.
Ja som skusil na ukazku toto:
Kód: [Vybrat]
-bash-3.2$ at -f ./pokus.sh -t 201105190913
job 1 at 2011-05-19 09:13
-bash-3.2$ at -l
1       2011-05-19 09:13 a pgula
-bash-3.2$ date
Thu May 19 09:12:26 CEST 2011
-bash-3.2$ date
Thu May 19 09:13:20 CEST 2011
You have mail in /var/spool/mail/pgula
-bash-3.2$ mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/spool/mail/pgula": 1 message 1 new
>N  1 pgula@chong.map24.lo  Thu May 19 09:13 1015/4532  "Output from your job        1"
-bash-3.2$ at -l
-bash-3.2$
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 ...)

Vojtěch Trefný

  • Příspěvků: 9307
  • Don Quijote
Re: editor pro psaní scriptu
« Odpověď #3 kdy: 19 Května 2011, 09:21:55 »
Normálně otevři jakýkoli textový editor (třeba gedit, je ve výchozí instalaci nebo klidně i ten mousepad). Něco do něj napiš (ten příklad máš správně), ulož ten soubor (pojmenuj ho jak chceš, s jakoukoli příponou, na tom vůbec nezáleží, obvykle se ale dává .sh). Přidej tomu souboru spustitelný příznak a spusť ho (dvojklik a vyber "spustit v terminálu").

Tenhle příklad má "vadu" -- pokud to uděláš tak, jak jsem psal, tak žádný výsledek neuvidíš, protože postup bude následující: spustíš soubor, otevře se okno terminálu, vypíše "Hello world." a okamžitě se zavře (většinou tak rychle, že to ani nezaznamenáš). Řešením je buď to spouštět přímo z terminálu (kde se tedy to okno nezavře) nebo si nakonec toho skriptu přidat "read", takže terminál bude čekat na stisknutí klávesy a teprve pak se zavře.

K at: Špatně napsaná cesta k souboru "/pokus.txt" systému řekne, že ten pokus.txt je v kořenové adresáři, kde určitě není.

daton

  • Aktivní člen
  • *
  • Příspěvků: 113
Re: editor pro psaní scriptu
« Odpověď #4 kdy: 19 Května 2011, 12:15:55 »
Dobré odpoledne
moc děkuji za příspěvky, rozhodně pomohly.
Jen si nějak stále nerozumím s tím at ale postupně budu bádat dál.
Zde je ukázka jak jsem bádal:
Kód: [Vybrat]
[root@localhost ja]#  at -f ./pokus4.sh -t 201105191204
at: invalid option -- 't'
Usage: at [-V] [-q x] [-f file] [-mldbv] time
       at -c job ...
       atq [-V] [-q x]
       atrm [-V] job ...
       batch
[root@localhost ja]# at -l 1       2011-05-19 12:06 a kokos
[root@localhost ja]# ls /var/spool/mail/kokos
[root@localhost ja]# ls /var/spool/at
spool/
[root@localhost ja]# ls -a /var/spool/mail/kokos
./  ../
[root@localhost ja]#


Už přemýšlím že zkusím i ten cron ale PETERovi ten at  v ukázce chodil, tak nevím kde mám chybu.

Martin - ViPEr*CZ*

Re: editor pro psaní scriptu
« Odpověď #5 kdy: 19 Května 2011, 12:47:24 »
Píše to, že parametry jsou -mldbv a že parametr -t to nezná.
PS: na časové spouštění rozhodně využijte cron.
Open source is gold way... Mint 17.2, Debian 8.1 Jessie| Ubuntu Wiki (návody) | Google vyhledávač | Qt4 návody

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: editor pro psaní scriptu
« Odpověď #6 kdy: 19 Května 2011, 12:51:46 »
Přepínač -t se nemusí zadávat, tak ho můžeš zkusit smazat, ale je podivné, že ho to odmítá.
Pak bych ti doporučil dělat pokusy pod normálním uživatelem, tam je daleko menší šance, že si poděláš celý systém.

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: editor pro psaní scriptu
« Odpověď #7 kdy: 19 Května 2011, 14:33:16 »

Už přemýšlím že zkusím i ten cron ale PETERovi ten at  v ukázce chodil, tak nevím kde mám chybu.

Aky mas system?, aku verziu at prikazu mas?  ...
Cron je samozrejme na spustanie tiez moznost, ale at na jednoduche naplanovanie tiez staci, to ze tvoj at nepozna prepinac -t znamena, ze mas inu verziu ako ja. Ja mam xubuntu 11.04 64bit system. Len pre info
Kód: [Vybrat]
at -V ti vypise verziu at prikazu a preto som Ta aj odkazoval na manual ku at prikazu aby si to zladil s tym co mas.
 
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 ...)

daton

  • Aktivní člen
  • *
  • Příspěvků: 113
Re: editor pro psaní scriptu
« Odpověď #8 kdy: 19 Května 2011, 21:30:17 »
Dobrý večer
tak to zkouším doma na ubuntu 10,04 s verzí at 3.1.12 .  V práci dopoledne jsem měl starší verzi. Tato verze již zná -t a celkově se chová jako Peterova. Jen to celé má nějakou malou chybu a stále se mi ji nedaří odhalit. Vše dokáži zopakovat po Peterově vzoru, jen výsledek se mi v terminále neobjeví. Nejsem si jist proč. Protože vše je zadané i at -l mi vypíše že ukol je zadán a čeká, no a to je vše po stanoveném čase se už v listě úkol neobjeví.
Kód: [Vybrat]
ja@ja-ThinkPad-R50:~$ bash pokus1.sh
Hello world. read
ja@ja-ThinkPad-R50:~$ at -f ./pokus1.sh -t 201105192126
warning: commands will be executed using /bin/sh
job 7 at Thu May 19 21:26:00 2011
ja@ja-ThinkPad-R50:~$ at -l
7 Thu May 19 21:26:00 2011 a ja
ja@ja-ThinkPad-R50:~$ date
Čt kvě 19 21:24:47 CEST 2011
ja@ja-ThinkPad-R50:~$ at -l
ja@ja-ThinkPad-R50:~$ date
Čt kvě 19 21:27:24 CEST 2011

I ta moc díky všem za rady. Prosím mohl by jste zde někdo uvést jednoduchý příklad časovače s cronem? Třeba s ním budu mít větší štěstí.

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4807
  • グーグル!ご存知ですか?
    • HEJ
Re: editor pro psaní scriptu
« Odpověď #9 kdy: 19 Května 2011, 22:40:28 »
at nic neví o tom kam má výsledek vypsat, zjistíme si ručně jaký je spuštěný virtuální terminál a pošleme tam výstup

dejte si v terminálu
Kód: [Vybrat]
w | grep w
objeví se něco jako
Kód: [Vybrat]
daton pts/6    :0               09:06    0.00s  0.52s  0.00s w
důležitý je ten pts/6, viz skript

tento terminál nezavírejte, budeme na něj vypisovat.
obsah skriptu pokus.sh bude
Kód: [Vybrat]
#!/bin/bash
echo "Hello world." > /dev/pts/6
exit 0

a spusťte si jej včetně plné cesty /.... (upravte si ji podle toho kde skript máte)
Kód: [Vybrat]
at -f /home/daton/pokus.sh -t 201105192226
-------------
trocha okynek:

a zkuste si v at
Kód: [Vybrat]
at -f /home/daton/pokus2.sh -t 201105192226  spustit pokus2.sh:

Kód: [Vybrat]
#!/bin/bash
export DISPLAY=:0 && zenity --info --text="Hello world."

Tady je to jednodušší, zenity spuštěné přes at sice opět neví kam to vypsat, ale to zabezpečíme číslem displeje které jsou číslované od :0

Většinou tu :0 budete mít, kdyby ne tak váš aktuální zjistíte jednoduše:
Kód: [Vybrat]
echo $DISPLAY
« Poslední změna: 19 Května 2011, 22:43:53 od Martin Kiklhorn »
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8

daton

  • Aktivní člen
  • *
  • Příspěvků: 113
Re: editor pro psaní scriptu
« Odpověď #10 kdy: 20 Května 2011, 11:39:48 »
Dobrý den
moc děkuji panu Martinovi, ted už mi to chodí jak má   ;D. Ty zenity jsou opravdu zajímavé trochu mi to připomíná hlášky, které jsme používaly v delphi, a ty se hodí pro upozorňování nejlépe.  :)

Ještě se zeptám na Midnight comander, on má i interní editor pro úpravy konfiguračních souborů. Jde s tímto editorem vytvořit nový soubor? Případně jde tímto editorem upravit název konfiguračního souboru?
Někdy se totiž vyskytne potřeba zkopírovat konfigurační soubor a v něm provést úpravu jenže jak změnit název staršího konf souboru? Prozatím jsem to řešil přes nějaký textový editor ale zajímaly by ne možnosti toho MC.

jmp

  • Host
Re: editor pro psaní scriptu
« Odpověď #11 kdy: 20 Května 2011, 12:00:00 »
Dobrý den
moc děkuji panu Martinovi, ted už mi to chodí jak má   ;D. Ty zenity jsou opravdu zajímavé trochu mi to připomíná hlášky, které jsme používaly v delphi, a ty se hodí pro upozorňování nejlépe.  :)

Ještě se zeptám na Midnight comander, on má i interní editor pro úpravy konfiguračních souborů. Jde s tímto editorem vytvořit nový soubor? Případně jde tímto editorem upravit název konfiguračního souboru?
Někdy se totiž vyskytne potřeba zkopírovat konfigurační soubor a v něm provést úpravu jenže jak změnit název staršího konf souboru? Prozatím jsem to řešil přes nějaký textový editor ale zajímaly by ne možnosti toho MC.

prejmenovani se resi pomoci F6 (presun/prejmenovani)
na zalozeni souboru staci touch jmeno_souboru

petergula

  • Stálý člen
  • **
  • Příspěvků: 1016
Re: editor pro psaní scriptu
« Odpověď #12 kdy: 20 Května 2011, 13:29:50 »
Dobrý den
moc děkuji panu Martinovi, ted už mi to chodí jak má   ;D. Ty zenity jsou opravdu zajímavé trochu mi to připomíná hlášky, které jsme používaly v delphi, a ty se hodí pro upozorňování nejlépe.  :)

Ještě se zeptám na Midnight comander, on má i interní editor pro úpravy konfiguračních souborů. Jde s tímto editorem vytvořit nový soubor? Případně jde tímto editorem upravit název konfiguračního souboru?
Někdy se totiž vyskytne potřeba zkopírovat konfigurační soubor a v něm provést úpravu jenže jak změnit název staršího konf souboru? Prozatím jsem to řešil přes nějaký textový editor ale zajímaly by ne možnosti toho MC.

prejmenovani se resi pomoci F6 (presun/prejmenovani)
na zalozeni souboru staci touch jmeno_souboru
Ohladom editora od MC:
shift+f4 - otvori editor s novym/prazdnym suborom
shift+f2 - v editore opyta sa na novy nazov suboru save as
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 ...)

daton

  • Aktivní člen
  • *
  • Příspěvků: 113
Re: editor pro psaní scriptu
« Odpověď #13 kdy: 20 Května 2011, 14:17:47 »
Dobré odpoledne
moc děkuji za rady ohledně všech dotazů co jsem zde vznesl. Hodně mi pomohly.

Díky všem   ;)

 

Provoz zaštiťuje spolek OpenAlt.