Script: eseguire comando passato a gnome-terminal

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
ic3kym
Prode Principiante
Messaggi: 11
Iscrizione: lunedì 22 settembre 2008, 15:16

Script: eseguire comando passato a gnome-terminal

Messaggio da ic3kym »

Salve a tutti!

avrei bisogno di un aiuto.

Devo scrivere uno script che apre un nuovo terminale. Una volta aperto il nuovo terminale deve eseguire il comando java nome.class
Al momento ho creato un file script.sh dove ho inserito il seguente codice:
!/bin/sh
gnome-terminal -x java /percorso/nome.class


Lanciando lo script viene aperta una nuova finestra ma con il seguente errore:
Errore nel creare il processo figlio per questo terminale
Esecuzione del processo figlio "java" non riuscita (File o directory non esistente)

Vi ringrazio per qualsiasi delucidazione.

PS. scusatemi ma ho inviato due volte lo stesso post.
Ultima modifica di ic3kym il sabato 14 aprile 2012, 12:36, modificato 1 volta in totale.
m4ssimo
Prode Principiante
Messaggi: 117
Iscrizione: lunedì 1 maggio 2006, 13:44

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da m4ssimo »

ic3kym ha scritto: Salve a tutti!

avrei bisogno di un aiuto.

Devo scrivere uno script che apre un nuovo terminale. Una volta aperto il nuovo terminale deve eseguire il comando java nome.class
Al momento ho creato un file script.sh dove ho inserito il seguente codice:
!/bin/sh
gnome-terminal -x java /percorso/nome.class


Lanciando lo script viene aperta una nuova finestra ma con il seguente errore:
Errore nel creare il processo figlio per questo terminale
Esecuzione del processo figlio "java" non riuscita (File o directory non esistente)

Vi ringrazio per qualsiasi delucidazione.

PS. scusatemi ma ho inviato due volte lo stesso post.
Ti consiglio di fare una cosa simile:

Codice: Seleziona tutto

#!/bin/sh
cd nome_cartella_dove_risiede_il_file_class
gnome-terminal -x java Nomeclasse

Nota che nel codice che hai postato tu non hai messo il "#" davanti al "!/bin/sh" e inoltre quando lanci java non devi indicare ".class" ma solo il nome della classe
ic3kym
Prode Principiante
Messaggi: 11
Iscrizione: lunedì 22 settembre 2008, 15:16

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da ic3kym »

Ho corretto il #. Per il *.class è stato un errore di trascrizione nel post.

Ho provato ma il problema persiste con lo stesso errore.

Qualcuno ha provato questo comando su ubuntu 11.10 per vedere se funziona?

Grazie
m4ssimo
Prode Principiante
Messaggi: 117
Iscrizione: lunedì 1 maggio 2006, 13:44

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da m4ssimo »

Scusa una cosa..ma se tu apri un terminale e digiti "java"..cosa ti risulta? Perchè così a occhio sembra non "trovare" java.
l3on4rdo

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da l3on4rdo »

Più che se digiti java, vedi cosa ti dice quando scrivi il comando:

Codice: Seleziona tutto

which java
Inoltre, ic3kym, quando posti degli script, dei codici o dei semplici comandi, usa il tag per il codice in questo modo:

[nobbc]

Codice: Seleziona tutto

testo dello script
o altro
[/nobbc]
ic3kym
Prode Principiante
Messaggi: 11
Iscrizione: lunedì 22 settembre 2008, 15:16

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da ic3kym »

No ragazzi non è un problema di java...
ho eseguito il comando which java e mi fornisce il path:
/opt/jdk1.7.0_03/bin/java
che è quello che ho settato io.

Inotre se vado nella cartella dove ci sono i file *.class e scrivo: java nomeFile il codice viene correttamente eseguito.

Se dalla cartella dove ci sono i file *.class lancio il comando a mano (escludendo quindi lo script) "gnome-terminal -x java nomeFile" ho il problema che ho postato all'inizio.

Grazie
l3on4rdo

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da l3on4rdo »

Posta l'output del comando:

Codice: Seleziona tutto

echo $PATH
e per la seconda volta usa il tag per il codice quando posti comandi o similia

Se metti un comando, uno script o un eseguibile non nel PATH, non puoi richiamarlo se non con l'esatto percorso che lo individua.
ic3kym
Prode Principiante
Messaggi: 11
Iscrizione: lunedì 22 settembre 2008, 15:16

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da ic3kym »

eseguendo

Codice: Seleziona tutto

 echo $PATH
ottengo:

Codice: Seleziona tutto

/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/jdk1.7.0_03/bin
l3on4rdo

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da l3on4rdo »

Se dai il comando:

Codice: Seleziona tutto

java -jar classe
usr/bi
ti funziona?

Comunque, tenendo il PATH in questo modo, se hai anche l'usuale /usr/bin/java temo che bash userà sempre quello, perché nel path /usr/bin compare prima (più a sinistra) di /opt/jdk1.7.0_03/bin
Bakuriu
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1156
Iscrizione: venerdì 23 ottobre 2009, 23:43
Desktop: KDE4
Distribuzione: Kubuntu 12.04 LTS - x86_64

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da Bakuriu »

l3on4rdo ha scritto: Comunque, tenendo il PATH in questo modo, se hai anche l'usuale /usr/bin/java temo che bash userà sempre quello, perché nel path /usr/bin compare prima (più a sinistra) di /opt/jdk1.7.0_03/bin
man which ha scritto:which returns the pathnames of the files (or links) which would be executed in the current environment, had
      its arguments been given as commands in a strictly POSIX-conformant shell.  It does this by  searching  the
      PATH for executable files matching the names of the arguments. It does not follow symbolic links.
Se lui dice che which java gli ritorna l'eseguibile in opt, allora è quello che viene eseguito.
l3on4rdo

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da l3on4rdo »

Hai ragione :)
ic3kym
Prode Principiante
Messaggi: 11
Iscrizione: lunedì 22 settembre 2008, 15:16

Re: Script: eseguire comando passato a gnome-terminal

Messaggio da ic3kym »

Quindi nessuno ha avuto lo stesso problema? Nessun suggerimento?

Grazia
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti