Come si crea un file eseguibile equivalente ai file.bat con ubuntu?
Dove trovo la documentazione? Grazie

chiesto 14 Apr '14, 15:39

franzgg's gravatar image

franzgg
97202025


Presumo che quindi tu intenda dire uno script che contenga delle istruzioni (se con .bat intendi un file Batch).

In genere si usano file che vengono eseguiti dalla shell.
Ci sono molti tipi di shell. La più usata (nella mia esperienza) è la bash=bourne-again shell.

La fonte migliore di informazioni in merito è il suo manuale, a cui puoi accedere con

man bash

nota che, data la sua lunghezza e la usa agevolezza, è stato più volte soprannominato "La Bibbia".

Diciamo che per un approccio più edulcorato puoi cercare su Internet dei Tutorial e iniziare con quelli.

Se hai delle richieste specifiche per alcune task che non sei in grado di fare, chiedi pure :)

coll. permanente

ha risposto 14 Apr '14, 15:53

dadexix86's gravatar image

dadexix86 ♦♦
17.0k916161

1

A - Ho eseguito questo comando da terminale:

cp /Scrivania/nuovo /Scrivania/nuovo1

funziona regolarmente copiando il file "nuovo" con il nuovo nome "nuovo1".

B - Ho creato un file con le istruzioni

#/bin/bash
cp /Scrivania/nuovo /Scrivania/nuovo1

questo file non viene riconosciuto come eseguibile.

C - Il file di prova che ho creato contenente:

#/bin/bash
echo "Hello mondo"
sleep 10

viene eseguito.
Qualcosa mi sfugge e chiedo aiuto.

(01 May '14, 17:11) franzgg franzgg's gravatar image
1

@franzgg:

  1. lo shebang è sbagliato, deve essere "#!/bin/bash" (con il punto esclamativo)
  2. è necessario che il file sia eseguibile se vuoi eseguirlo per nome: "chmod +x nuovo1"
(01 May '14, 17:22) enzotib ♦♦ enzotib's gravatar image
1

Nel testo della domanda avevo riportato lo shebang come "#/bin/bash" che è stato poi modificato automaticamente.
Il file di prova con i comandi
"#/bin/bash"
"echo"
"sleep"
funziona anche senza l'asterisco dopo il cancelletto.
Il file che ho creato per copiare un file non funziona anche se metto l'asterisco sul comando
"#!/bin/bash"
Quale è il corretto comando per eseguire una copia di un file?
Non riesco ad interpretare la tua istruzione.
Scusami ma sto cercando di istruirmi

(01 May '14, 17:51) franzgg franzgg's gravatar image
1

Trovo improbabile che ci sia una cartella /Scrivania.

Casomai Scrivania è una sottocartella della tua home.

Quindi il percorso da cui copi deve essere /home/TUO_NOME_UTENTE/Scrivania/nuovo
dove al posto di TUO_NOME_UTENTE metti il tuo nome utente (tutto minuscolo, eccecc), oppure in forma abbreviata
~/Scrivania/nuovo
oppure ancora usando le variabili della shell
$HOME/Scrivania/nuovo

(01 May '14, 18:10) dadexix86 ♦♦ dadexix86's gravatar image
1

prova ad eseguire il tuo programma con bash -x otterrai informazioni sui comandi eseguiti ed il loro esito, in questo modo potrai sapere perche´ fallisce il comando cp.

(02 May '14, 21:24) letizia letizia's gravatar image

Ciao, oltre a ciò che è stato detto, qui

http://www.istitutomajorana.it/index.php?option=com_content&task=view&id=1400&Itemid=33

trovi una guida di base semplice ma valida alla creazione di script bash

(03 May '14, 12:33) gisnio-sell gisnio-sell's gravatar image

A - Nella mia cartella "Scrivania" esiste un file denominato "nuovo" ; in Proprietà si definisce il suo percorso :/home/gianfranco/Scrivania
B - Ho creato un file con nome "Prova shell" che è costituito da 2 righe di istruzione come segue:
"#!/bin/bash"
"cp /home/gianfranco/Scrivania/nuovo /home/gianfranco/Scrivania/nuovo1"
La definizione in Proprietà è di "Script shell (application/x-scellscript)
C - Cliccando su questo file non si avvia un eseguibile ma si apre con l'editor di testo.
Scusate la prolissità ma spero che si scopra dove non viene eseguita correttamente la procedura.

(05 May '14, 22:07) franzgg franzgg's gravatar image
1

EUREKA!!!!
Trovata la tessera mancante:
In Proprietà/Permessi esiste la casella da fleggare "Consentire esecuzione del file come programma"
Ora funziona!!!!

(05 May '14, 22:13) franzgg franzgg's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×109

domanda posta: 14 Apr '14, 15:39

domanda visualizzata: 6,195 volte

ultimo aggiornamento: 08 May '14, 16:35

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.