quickloox

Open full view…

Il punto e la barra

Fri, 02 Sep 2016 02:27:46 GMT

supergiuovane
Fri, 02 Sep 2016 02:27:46 GMT

Beh anche sh nomescript.sh dovrebbe funzionare no?

frix01
Fri, 02 Sep 2016 04:40:51 GMT

> la dimostrazione del tutto involontaria di quanto sia vero che i libri servono ancora è vero, ma se lo circostanzi ai libri ben scritti, studiati, predisposti con la dovuta cura. In giro si trovano un sacco di libri che non rispondono a questi minimi requisiti di base. Penso a quelli della mia specifica sfera di attività (che non è il mondo Apple o digitale in senso stretto). Questo è un problema per chi vuol scrivere e publicare, perché allontana i potenziali lettori, i quali faticano a districarsi nell'offerta. Io sono stato un famelico acquirente di libri. Dopo una nutrita serie di _pacchi_ ho quasi gettato la spugna. Dopodiché aggiungerei che è più facile e si fa prima a trovare cose utili in un libro (anche digitale) ben fatto piuttosto che in internet, dove la _query_ ed il motore di ricerca assumono importanza significativa per la restituzione dei dati cercati.

Fëarandil
Fri, 02 Sep 2016 06:31:09 GMT

Serve se lo vuoi installare sotto /usr/local/bin e usarlo come comando.

macmomo
Fri, 02 Sep 2016 06:46:18 GMT

Sei sicuro di quello che dici? Mi pare che un comando (o uno script), se non si trova in una cartella inclusa in `$PATH`, per poter essere eseguito debba includere il suo percorso completo. Ed effettivamente mi pare anche logico, altrimenti il Terminale come fa a sapere dove si trova? Per la storia del `chmod`, mi viene il dubbio che tu possa aver modificato uno vecchio script con già i permessi di esecuzione, invece che crearlo da nuovo. Solo così si piegherebbe la possibilità di eseguirlo da subito (o a meno che l'applicazione con cui l'hai creato imposti già i permessi di esecuzione). Qui da me infatti funziona come da manuale: prima `chmod`, poi `./`

angelbach69
Fri, 02 Sep 2016 08:38:23 GMT

Sì infatti attenzione l'uso di ./ serve laddove il percorso non sia nella variabile PATH e chmod rende eseguibile quello che non lo è...lo si usa a volte alla cieca per non sbagliare o verificare prima. per ./ puoi forse vedere qui http://www.linfo.org/dot_slash.html

briand06
Fri, 02 Sep 2016 14:02:22 GMT

Come ha già scritto angelbach69, `chmod` e `./` servono a scopi diversi, ma collegati uno all'altro. Il comando `chmod` rende eseguibile un programma, sia in formato binario che in forma di script. Senza `chmod`, lo script bash `test` può essere eseguito dal Terminale solo con il comando esplicito $ bash test (o più prevemente `sh test`) Se invece utilizziamo il comando (che rende eseguibile lo script per l'utente conesso in quel momento al Mac) $ chmod u+x test possiamo eseguirlo più semplicemente con $ ./test Inoltre `./` indica alla shell di cercare il programma nella directory corrente (che in Unix è indicata dal `.`). @lux: > La realtà è che si usa ./, chmod non serve assolutamente. Ho provato, riprovato, riverificato. Mi spiace Lux, ma non è possibile. Prova a fare `ls -al` nel Terminale e verifica i permessi del comando a cui ti riferisci. Dovrebbero essere più o meno `-rw-r--r--`, non `-rwxr--r--` o simili (insomma, i bit x non devono essere settati).

briand06
Fri, 02 Sep 2016 14:05:07 GMT

Dimenticavo, se non aggiungi alla variabile $PATH la directroy che contiene lo script, per eseguirlo dovrai prependere (si dice in italiano?) il percorso completo: `~/directory/che/contiene/test`.

andy69
Fri, 02 Sep 2016 17:12:17 GMT

Mi fate venire il mal di testa. Ma vi seguo con attenzione che più volte ho problemi su sta cosa

paoloo
Fri, 02 Sep 2016 23:00:38 GMT

Ho voluto fare una prova. Ho creato uno script in TextEdit (formato testo semplice) ed ho provato ad eseguirlo con `./nomescript` prima e dopo averne cambiato i permessi con `chmod`. Ho nominato il file dapprima solamente `script` e provato ad eseguirlo, successivamente `script.sh` per vedere se l'aggiunta dell'estensione potesse renderlo implicitamente eseguibile agli occhi del Terminale di OS X. [Questi sono i risultati.](//muut.com/u/quickloox/s1/:quickloox:5Ut6:script.png.jpg) P.S. lo script trattasi nient'altro che di una versione personalizzata di _Hello World_

briand06
Sat, 03 Sep 2016 04:48:45 GMT

Una piccola nota, buona per Cuore di Mela. Per bash (e qualunque shell non MS) l'estensione non conta. Purtroppo da quando sono state introdotte anche in OS X, perfino i "melomani" hanno dimenticato che un mondo migliore è possibile, nel quale i file sono associati ai programmi in un modo diverso e più efficace.

paoloo
Sat, 03 Sep 2016 12:45:36 GMT

Ultima nota di colore. Aggiungendo ad un file di script l'estensione `.command` lo script diviene direttamente eseguibile dal Finder tramite doppio click o equivalenti ( comando di menu _Apri_ e relativa scorciatoia di tastiera ), laddove in mancanza di suddetta estensione verrebbe aperto semplicemente in un editor di testo. Ovviamente il file deve avere comunque i permessi di _eseguibilità_ già impostati tramite `chmod`.