Rendere eseguibile uno script bash
Non perderti il meglio di Mac Peer
Iscriviti alla newsletter settimanale del nostro magazine: ogni venerdì ti aspetta una selezione di articoli, guide e approfondimenti di cultura digitale, con uno sguardo attento e indipendente sul mondo Apple.
👉 Inserisci la tua email e resta aggiornato.
-
Rendere eseguibile uno script bash
Ciao, vista l'enorme utilità, mi sono lanciato con molto entusiasmo nella programmazione delle shell bash su Leopard. Sono incappato però subito in uno scoglio che non riesco a superare da solo: come si fa a rendere uno script eseguibile con il buon vecchio doppio click del maus?
I miei script li ho compilati con Emacs e li ho salvati con estensione .sh, li ho "autorizzati" da terminale tramite chmod u+rx nomefile ed ho provato quindi a lanciarli da terminale: tutto OK.
Quando vado però a fare doppio click non vengono però eseguiti ma semplicemente aperti con Emacs.
Sapete dirmi dove sbaglio?
-
un Amico di Mac Peer
lo script deve essere eseguibile (chmod +x nome.sh) e forse come prima riga manca #!/bin/bash (cioè che deve utilizzare la shell bash).
in pratica il tuo script non è visto come eseguibile e cmq da chi l'ha creato: questione di metadata e/o di estensione. prova anche solo semplicemnte a rinominarlo .command
-
Come prima riga ho usato #!/bin/bash ed infatti se lo lancio da terminale lo script viene eseguito correttamente. La cosa che non mi riesce fare è fare si che lo script vrnda eseguito semplicemente facendo doppio click sulla sua icona.
Ho provato a cambiare estensione in .command e ad aprirlo co il terminale ma mi da il seguente errore:
RR-2:~ riccardoromoli$ /Users/riccardoromoli/Desktop/Superpippo/Sincronizzazione.command ; exit;
building file list ... rsync: link_stat "/Users/riccardoromoli/Pippo" failed: No such file or directory (2)
done
sent 29 bytes received 20 bytes 98.00 bytes/sec
total size is 0 speedup is 0.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-35.2/rsync/main.c(992) [sender=2.6.9]
logout
[Processo completato]
Pippo e Pippo2 sono due cartelle che uso per prova. Lo script serve per sincronizzare i files contenuti in Pippo con la cartella Pippo2.
-
un Amico di Mac Peer
prego. crea un'applicazione con automator dei tuoi comandi. (esegui uno script shell e copi/incolli #!/bin/bash al posto di cat e a seguire e a capo i tuoi comandi). sicuro che poi si avvia il terminale con un doppio clik. come farlo è cmq più volte nel forum, anche con immagini.
come più semplice apple script info qui: http://www.tuttologia.com/tutorial/b...plescript.html
-
Grazie. Quando ho provato ti faccio sapere.
-
Ho provato a rendere eseguibile il file con Autometor ma non mi è riuscito.
Il suggerimento di usare ApopleScript è buono ma avendo la necessità di spostare gli script anche su altre piattaforme (Linux) sono costretto a scriverle come shell bash.
-
un Amico di Mac Peer

Originariamente Scritto da
Rici
Ho provato a rendere eseguibile il file con Autometor ma non mi è riuscito.
strano perchè riesce (e i topic nel forum sono testimoni). come sai scrivere in un forum che una cosa non riesce non vuol dire niente. ci sarà sempre qualcuno, a torto o a ragione, che ti dirà il contrario. se vuoi degli aiuti concreti si devono sempre leggere tutti i particolari.
solo che, vista l'esigenza di spostare lo script su altre piattaforme di cui si legge ora, la strada automator non andava neppure intrapresa. il problema è quello già detto sopra: questione di risorse e metadati del file che viene aperto dal creatore (emacs) piuttosto dall'applicazione deputata ad eseguire il file. se l'aspetto dell'eseguibilità è stato considerato (ripeto: chmod +x nome.sh), altro personalmente non so aggiungere, ma dai un occhio a RCdefault app. buona ricerca su questo punto.
-
Quando clicchi due volte sul file, ti si apre TextEdit perchè il file è associato a quel programma.
Fai così: click destro sul file > in "Apri con", seleziona il terminale (se non è nell'elenco, clicca "altro").
In ogni caso, portando il file su Linux non avrai problemi.
Permessi di Scrittura
- Tu non puoi inviare nuove discussioni
- Tu non puoi inviare risposte
- Tu non puoi inviare allegati
- Tu non puoi modificare i tuoi messaggi
-
Regole del Forum
Connect With Us