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: Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...  (Přečteno 2355 krát)

miro_

  • Aktivní člen
  • *
  • Příspěvků: 226
Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« kdy: 19 Července 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

  • Závislák
  • ***
  • Příspěvků: 6529
  • Som uzivatel linuxovej distribucie, som linuxak?
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #1 kdy: 19 Července 2021, 21:22:50 »
Medzi / a bin/ v "#!/ bin/bash" mas medzeru.
HP Laptop 17-ca1xxx Ubuntu Mate 22.04 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_

  • Aktivní člen
  • *
  • Příspěvků: 226
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #2 kdy: 19 Července 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ů: 3538
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #3 kdy: 20 Července 2021, 08:47:27 »
Máš nastavená práva a spustitelnost?
Zvuky jsou mantrami a myšlenky moudrostí, prostě proto, že se mohou objevovat ...

miro_

  • Aktivní člen
  • *
  • Příspěvků: 226
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #4 kdy: 20 Července 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ů: 4935
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #5 kdy: 20 Července 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

  • Závislák
  • ***
  • Příspěvků: 6529
  • Som uzivatel linuxovej distribucie, som linuxak?
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #6 kdy: 20 Července 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 22.04 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

  • Aktivní člen
  • *
  • Příspěvků: 404
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #7 kdy: 20 Července 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_

  • Aktivní člen
  • *
  • Příspěvků: 226
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #8 kdy: 21 Července 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ů: 3538
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #9 kdy: 22 Července 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

  • Aktivní člen
  • *
  • Příspěvků: 176
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #10 kdy: 23 Července 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ů: 33
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #11 kdy: 23 Července 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_

  • Aktivní člen
  • *
  • Příspěvků: 226
Re:Problem s funkcnosti spoustece pro '.sh' (na U20mate) ...
« Odpověď #12 kdy: 24 Července 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')


 

Provoz zaštiťuje spolek OpenAlt.