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

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

Autor Téma: Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...  (Přečteno 642 krát)

miro_

  • Člen
  • **
  • Příspěvků: 164
    • Zobrazit profil
Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« kdy: 19 Červenec 2021, 17:53:07 »
Delsi dobu uzivam spoustec (vytvoreny z plochy) 'ping.sh' s nasledujicim obsahem:
Citace
#!/bin/bash
echo -e -n  '\n Test funkcnosti cest
echo -e -n '\n WiFi modem \n'
ping 172.20.1.1  -c 5
....
echo -e -n '\n www.seznam.cz\n'
ping 77.75.79.53  -c 5
Chtel jsem podobne vytvorit spoustec 'copy_ap.sh'.
Citace
#!/ bin/bash
cp -i ~/__CB_prj_/grafy_fram/bin/Debug/g_fro_fram ~/__DATA_mereni_/__fram_/_graph_/
Volani z terminalu pres 'sh ./copy_ap.sh' je funkcni.
Pri volani spoustecem se ale 'cp' neprovadi ! Jen problikne okno terminalu.
Pokud predradim 'sudo cp ....' spoustec 'copy_ap.sh' se v terminalu ok zastavi
a OK pozaduje heslo ale obsah za ('cp..') se zase neprovede.

Pokousel jsem se neco o tomto problemu dohledat na webu ale neuspel jsem.
V cem je problem ?

TIBOR

  • Guru
  • *****
  • Příspěvků: 6430
  • Som uzivatel linuxovej distribucie, som linuxak?
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #1 kdy: 19 Červenec 2021, 21:22:50 »
Medzi / a bin/ v "#!/ bin/bash" mas medzeru.
HP Laptop 17-ca1xxx Ubuntu Mate 20.04.2 FF 64bit.
Asus X751LB-TY014H Ubuntu Mate 20.04.1 FF 64bit.
Linus, Lajnas, Línus, Luínus, Lajnus a je mi naozaj jedno, ako ľudia vyslovujú moje meno. Ale "Linux" je vždy "Linux". LINUS TORVALDS, tvorca Linuxového jadra.(V dokumente Revolution OS)

miro_

  • Člen
  • **
  • Příspěvků: 164
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #2 kdy: 19 Červenec 2021, 22:41:21 »
Dik za upozorneni, po oprave je to stejne, spoustec neni funkcni !, '.sh' soubor z terminalu fungue OK !

Ventero

  • Závislák
  • ****
  • Příspěvků: 2576
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #3 kdy: 20 Červenec 2021, 08:47:27 »
Máš nastavená práva a spustitelnost?
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

miro_

  • Člen
  • **
  • Příspěvků: 164
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #4 kdy: 20 Červenec 2021, 11:02:19 »
Prava jsem samozrejme nastavoval !

Zkusil jsem za  povel 'cp' pridat jeste test ping. (Edici  '.sh' i spoustece provadim v 'Geany'.)
Citace
echo -e -n '\n www.seznam.cz\n'
ping 77.75.79.53  -c 5

I po teto uprave je v U20mate spoustec nefunkcni !

Napadlo mne, poslat '.sh' soubor i spoustec pres domaci sit do jineho PC s  U16.04 a zkusit to tam.
K memu prekvapeni tam spoustec s '.sh' funguje OK bez jakychkoli uprav (jen jsem musel samozrejme povolit spousteni prekopirovaneho spoustece) !!
(Ten chodici  test  'ping' z uvodu vlakna byl puvodne vytvaren a  kopirovan do U20mate z jineho PC s U16.04 !)
Vypada to na nejakou  zahadu tvorby spoustece v U20mate.



 

juwa2

  • Závislák
  • ****
  • Příspěvků: 4212
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #5 kdy: 20 Červenec 2021, 12:33:24 »
Složitější příkazy do spouštěčů (soubor *.desktop) piš vždy ve tvaru
Kód: [Vybrat]
Exec=sh -c "příkaz"
Takto lze do spouštěčů psát i vícenásobné příkazy (bez nutnosti používat mezičlánek ve formě skriptu).
Kód: [Vybrat]
Exec=sh -c "příkaz1 && příkaz2"

TIBOR

  • Guru
  • *****
  • Příspěvků: 6430
  • Som uzivatel linuxovej distribucie, som linuxak?
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #6 kdy: 20 Červenec 2021, 15:29:47 »
Dik za upozorneni, po oprave je to stejne, spoustec neni funkcni !, '.sh' soubor z terminalu fungue OK !
To je divne ja mam tiez Ubuntu Mate 20.04 a skript s cp funguje aj ked ho volam spustacom vytvorenym na ploche. Ako vytvaras ten spustac.
HP Laptop 17-ca1xxx Ubuntu Mate 20.04.2 FF 64bit.
Asus X751LB-TY014H Ubuntu Mate 20.04.1 FF 64bit.
Linus, Lajnas, Línus, Luínus, Lajnus a je mi naozaj jedno, ako ľudia vyslovujú moje meno. Ale "Linux" je vždy "Linux". LINUS TORVALDS, tvorca Linuxového jadra.(V dokumente Revolution OS)

West

  • Člen
  • **
  • Příspěvků: 351
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #7 kdy: 20 Červenec 2021, 16:17:11 »
Ešte vyskúšaj pred príkaz "cp" dať kompletnú cestu k príkazu "cp". Ak nepomôže, tak ešte namiesto "~/" dosad celú cestu.

miro_

  • Člen
  • **
  • Příspěvků: 164
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #8 kdy: 21 Červenec 2021, 22:14:08 »
Nasel jsem v cem mam problem.
V diskuzi zde jsem neuvedl ze '.sh' soubor jsem nemel v '/home'. Pokud jej dam do '/home' tak spoutec pracuje OK.
( Spoustec 'ping' mi sel  protoze 'ping.sh' jsem mel v '/home'. Podobne to bylo v U16. Tam jsem to nakopiroval pres sit do jeho '/home ')


Ventero

  • Závislák
  • ****
  • Příspěvků: 2576
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #9 kdy: 22 Červenec 2021, 08:10:51 »
Tak že by přeci jen ta práva? V /home stačí oprávnění uživatele, jinde musí být práva root. Nebo se mýlím?
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

singularis

  • Člen
  • **
  • Příspěvků: 165
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #10 kdy: 23 Červenec 2021, 07:13:40 »
Tak že by přeci jen ta práva? V /home stačí oprávnění uživatele, jinde musí být práva root. Nebo se mýlím?

S tím rootem určitě ne, problém musí být v něčem jiném. Ale nejprve je potřeba začít rozlišovat mezi spouštěči (*.application) a skripty (*.sh), protože každý z nich může v GUI fungovat jinak.

U skriptu je potřeba zjistit vlastnictví. Pokud je vlastníkem skriptu jiný uživatelský účet než ten, pod kterým se uživatel snaží skript spustit, je potřeba to zvlášť ošetřit. Také je třeba ověřit, že cílový uživatelský účet má přístup do adresáře, kde je skript uložen (což ale v tomto případě zřejmě platilo).

Vtip je v tom, že když obyčejný uživatel (ne-root) zkopíruje soubor z jednoho adresáře do druhého, automaticky tím přebere vlastnictví na sebe, takže by v podstatě stačilo skript zkopírovat o adresář vedle, původní smazat, přesunout kopii nazpět a mohl by začít fungovat.

toudy

  • Návštěvník
  • *
  • Příspěvků: 21
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #11 kdy: 23 Červenec 2021, 23:43:14 »
Nasel jsem v cem mam problem.
V diskuzi zde jsem neuvedl ze '.sh' soubor jsem nemel v '/home'. Pokud jej dam do '/home' tak spoutec pracuje OK.
( Spoustec 'ping' mi sel  protoze 'ping.sh' jsem mel v '/home'. Podobne to bylo v U16. Tam jsem to nakopiroval pres sit do jeho '/home ')

Zlozka /home patri uzivatelovi root a skupine root

Zlozka /home/user patri uzivatelovi user a skupine user

Tak

miro_

  • Člen
  • **
  • Příspěvků: 164
    • Zobrazit profil
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #12 kdy: 24 Červenec 2021, 12:35:11 »
Diky za upozorneni.  Blbe jsem to napsal. Opravuji a doplnuji:

V diskuzi zde jsem neuvedl ze '.sh' soubor jsem nemel v '/home/user'. Pokud jej dam do '/home/user' tak spoutec pracuje OK.
( Spoustec 'ping' mi sel  protoze 'ping.sh' jsem mel v '/home/user'. Podobne to bylo v U16. Tam jsem to nakopiroval pres sit do jeho '/home/user')