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: Jak upravit skript pro spuštění Java programu? [vyřešeno]  (Přečteno 223 krát)

regine

  • Stálý člen
  • **
  • Příspěvků: 955
Na úvod - zkouším poprvé Bash-script.
V terminálu zadám
Kód: [Vybrat]
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar /home/user/PDF_image_remover/pdf-image-remover-1.1.1.jarJava-program pdf-image-remover-1.1.1.jar se spustí.
Pokud příkaz vložím do skriptu v souboru test.sh
Kód: [Vybrat]
!/bin/bash
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar /home/user/PDF_image_remover/pdf-image-remover-1.1.1.jar
je vypsána chyba:
Citace
Error: Unable to access jarfile pdf-image-remover-1.1.1.jar
Co dělám hloupě? Vycházím z jednoduchých návodů na netu typu:
Citace
In hello.sh:
!/bin/bash
clear
java -jar HelloWorld.jar
« Poslední změna: 18 Června 2026, 16:44:26 od regine »
Ubuntu 16.04 LTS 32bit, 22.04 LTS, 24.04 LTS

sabraq

  • Závislák
  • ***
  • Příspěvků: 3754
  • Bootloader-není téma k hovoru,ani zbytný prostor
Re:Jak upravit skript pro spuštění Java programu?
« Odpověď #1 kdy: 18 Června 2026, 15:03:09 »
Hloupě asi nic. Tady je něco k tomu shellu.
PP v kolečku - není licence,pouze upozornění na reklamu
"Dress code" - oblečení podle předpisu(ne kódované oblečení)
CC v kolečku - je licence,značí,že se někdo nesmírně snaží

regine

  • Stálý člen
  • **
  • Příspěvků: 955
Re:Jak upravit skript pro spuštění Java programu?
« Odpověď #2 kdy: 18 Června 2026, 16:42:14 »
 ;D Příčina odhalena. Soubor *.sh byl uložen jako Windows, konec řádku s CR-LF. Stačilo uložit jak Unix LF.
Ubuntu 16.04 LTS 32bit, 22.04 LTS, 24.04 LTS

sabraq

  • Závislák
  • ***
  • Příspěvků: 3754
  • Bootloader-není téma k hovoru,ani zbytný prostor
Re:Jak upravit skript pro spuštění Java programu? [vyřešeno]
« Odpověď #3 kdy: 19 Června 2026, 07:38:35 »
Hm, asi proto byla práva jako ve windows.
PP v kolečku - není licence,pouze upozornění na reklamu
"Dress code" - oblečení podle předpisu(ne kódované oblečení)
CC v kolečku - je licence,značí,že se někdo nesmírně snaží

ramael

  • Stálý člen
  • **
  • Příspěvků: 899
Re:Jak upravit skript pro spuštění Java programu? [vyřešeno]
« Odpověď #4 kdy: 19 Června 2026, 08:15:37 »
To ti to fakt funguje s takovým shebang?
Minimum by mělo být toto:
Kód: [Vybrat]
#!/bin/bash
/usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar /home/user/PDF_image_remover/pdf-image-remover-1.1.1.jar
Pokud má být ten script jen wrapper a nic jiného dělat, použil bych exec:
Kód: [Vybrat]
#!/bin/bash
exec /usr/lib/jvm/java-11-openjdk-amd64/bin/java -jar /home/user/PDF_image_remover/pdf-image-remover-1.1.1.jar
Tím nahradí spouštěný program přímo wrapper. Převezme jeho PID a běžící wrapper zanikne. Máš v systému o proces méně!
V první variantě bude javový program běžet jako potomek nebo podproces  bashového scriptu. Signály jdou nejdřív do bash procesu.
Druhá varianta je čistší pokud ten bash script má za úkol jen spustit program (wrapper). Program dostává signály přímo.
Lenovo: ThinkPad X380 Yoga Joutůůůůb
Codeberg  GitHub

 

Provoz zaštiťuje spolek OpenAlt.