Newsgroup: it.comp.macintosh
Titolo: Eseguire del codice da terminale

Ciao a tutti!
Per mia sfortuna ho installato il programmino Nemesys per misurare la
velocità della mia adsl.
Ora, tralasciando la totale mancanza di un'interfaccia user-friendly,
il programma non funziona, perché anche con tutti i programmi chiusi
rileva altre connessioni attive...
Come lo tolgo?
Nel pacchetto di installazione c'è un file che si chiama uninstall.sh
e che contiene questo script:
#!/bin/sh
# REMINDER: YOU NEED TO RUN THIS SCRIPT VIA SUDO
# Kill oll processes
/bin/ps -axcopid,command | /usr/bin/grep "executer*" | /usr/bin/awk
'{ system("kill -9 "$1) }'
# Remove service script
/bin/rm -rf /Library/LaunchDaemons/it.fub.nemesys.*
# Remove Applications
/bin/rm -rf /Applications/Nemesys
Facciamo finta che non ci siano errori di inglese... come faccio ad
eseguirlo?
Io sono a digiuno di terminale, ho provato a scrivere
cd Downloads
per entrare nella cartella in cui ho depositato il file .sh
poi se scrivo uninstall o uninstall.sh, il terminale dice che non
trova il file... ma con ls lo trovo nella lista del file di quella
cartella.
Ho provato a cambiare estensione in .command e fare doppio click, lo
script si esegue ma senza i necessari permessi.
Qui si fermano le mie conoscenze apprese con qualche ricerca su
google... potreste darmi una mano?
THX!

 cartella.
nel mondo unix è normale: lo devi lanciare con
  sudo ./uninstall.sh
(e digitare la tua password)
-- 
 lupin(R)       ~        desktop: MacMini - MacOSX & Ubuntu GNU/Linux
server: Debian stable       laptop: MacBook in tri-boot Mac-GNU-Win
------------------------------------------------------------------------
ACCUSATO: Imputato di seconda mano.

  lupin(R)
Avevo anche provato
sudo uninstall.sh
ma senza mettere ./
se ho capito, quel simbolo significa "in questa cartella"
Grazie mille, ha funzionato.



si, beh... diciamo che per motivi di sicurezza la dir corrente ($PWD) non 
e' MAI inclusa nella variabile PATH utente per sapere quali sono incluse 
di default
echo $PATH
per eseguire uno script basta sempre e in qualunque caso anteporre sh es.
sh nomescript
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
Ho scoperto un modo infallibile per ingannare i diplomatici.  Dico loro la
verita' ed essi non mi credono.
		-- Camillo Di Cavour

 Grazie mille, ha funzionato.
you're welcome.  :)
-- 
 lupin(R)       ~        desktop: MacMini - MacOSX & Ubuntu GNU/Linux
server: Debian stable       laptop: MacBook in tri-boot Mac-GNU-Win
------------------------------------------------------------------------
ALBUMINE: Esplosivi alla chiara d'uovo

 Ma non è vero che è normale...
invece è lo standard: su nessun sistema unix (AIX, GNU/Linux, Solaris,
*BSD ...) è compresa nel $PATH la directory corrente, a meno di cambiare
esplicitamente il default e aggiungere nel proprio profilo (nei file .rc
della shell) anche la $PWD appunto.
Nel caso specifico della bash bisognerebbe aggiungere nel file `.bashrc'
nella propria home la riga
  PATH=$PATH:$PWD
-- 
 lupin(R)       ~        desktop: MacMini - MacOSX & Ubuntu GNU/Linux
server: Debian stable       laptop: MacBook in tri-boot Mac-GNU-Win
------------------------------------------------------------------------


   PATH=$PATH:$PWD
In questo modo aggiungeresti la home directory, non la directory 
corrente.

   PATH=$PATH:$PWD
$PWD e' riconosciuta come . quindi 
export PATH=".:$PATH"
in .bashrc o /etc/profile si puo' mettere un percorso assoluto e non uno 
che e' per l'appunto variabile
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
On Thanksgiving Day all over America, families sit down to dinner at the
same moment -- halftime.

 corrente.
Hai ragione, nel senso che aggiungerebbe la directory *in quel momento*
corrente (se home la home, se altra directory quella).
la sintassi corretta dovrebbe quindi essere
  export PATH=$PATH:.
cioè il semplice punto ad indicare la directory attuale; con un `export'
così la variabile se la beccano anche le sotto-shell.
Comunque sia, non lo fa quasi mai nessuno, dato che è meglio avere
sempre sotto controllo (anche per questioni di sicurezza) i posti dove
sono presenti gli eseguibili e concedere la ricerca solo in determinati
PATH, appunto.  Per gli script personali si aggiunge la `~/bin' al $PATH
e basta.
Per il resto (casi eccezionali) si procede in manuale facendo o
  sh script.sh
oppure
  ./script.sh
-- 
 lupin(R)       ~        desktop: MacMini - MacOSX & Ubuntu GNU/Linux
server: Debian stable       laptop: MacBook in tri-boot Mac-GNU-Win
------------------------------------------------------------------------
ONDINA: Piccolo movimento della manina nella vasca. Se intesa come
nuotatrice: Fa la piscina in dieci secondi

 che e' per l'appunto variabile
Che per˜ non   coerento con ci˜ che hai scritto, i percorsi assoluti 
cominciano dalla root.

 così la variabile se la beccano anche le sotto-shell.
E se la metti in bashrc ogni shell figlia aggiunge ":."

 
In OSX basta aggiungere : dopo l'ultimo percorso contenuto in PATH (/etc/
profile)
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
Ever notice that the word "therapist" breaks down into "the rapist"?
Simple coincidence?
Maybe...



Il contenuto di una variabile d'ambiente (come ad es $PWD) diventa 
*assoluto* nel momento in cui definisci la variabile stessa nel tuo file 
di configurazione, PWD significa Print Working Directory e ha solo il 
compito di restituire un output. Altra cosa e' . che nella bash agisce 
come directory corrente analogamente a .. che agisce come dir superiore
man env
man set
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
Dio non gioca a dadi.
		-- Albert Einstein
Dio non solo gioca a dadi, ma qualche volta tira i dadi dove non possono
essere visti.
		-- Stephen Hawking

 come directory corrente analogamente a .. che agisce come dir superiore
Mi sfugge il punto del messaggio. Punto metaforico, non '.' .

 Mi sfugge il punto del messaggio. Punto metaforico, non '.' .
Il punto e' che come ampiamente discusso e dimostrato PWD *non* e' un 
percorso assoluto mentre . inevitabilmente lo e'
</repeat>
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
"You know, of course, that the Tasmanians, who never committed adultery, 
are
now extinct."
		-- M. Somerset Maugham

 </repeat>
Non ho il Tanenbaum sottomano ma AFAIR i percorsi assoluti sono quelli 
che partono dalla root, cio  con un carattere '/'. Tutti quelli che non 
cominciano con '/' sono relativi.

 che e' per l'appunto variabile
qui su OSX 10.6.5 se faccio
  echo $PWD
dal terminale mi restituisce un percorso assoluto (dalla '/'); stessa
cosa il comando `pwd'.
Comunque sia per il nostro caso (la variabile d'ambiente PATH) non va
bene, nel senso che cosě facendo (PATH=$PATH:$PWD) aggiunge un percorso
fisso, stabilito: il percorso contenuto nella variabile $PWD che perň
non si aggiorna quando cambiamo directory, ho provato adesso.
Quindi va bene solo il '.' oppure, come dici tu, basta il solo ':'
finale senza niente dopo.
-- 
 lupin(R)       ~        desktop: MacMini - MacOSX & Ubuntu GNU/Linux
server: Debian stable       laptop: MacBook in tri-boot Mac-GNU-Win
------------------------------------------------------------------------
ANGOLO RETTO: Angolo che bolle a 90 gradi



non in questo caso
.. e' un percorso relativo
. e' relativo a cosa? Ovunque tu ti trovi esso e' assolutamente e 
solamente il path in cui ti trovi
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
Have a place for everything and keep the thing somewhere else; this is not
advice, it is merely custom.
		-- Mark Twain

 solamente il path in cui ti trovi
Appunto, non identifica una directory fissa (come un path assoluto), ma
la directory cui punta dipende da dove ti trovi in quel momento, quindi
�, per definizione, un path relativo.
-- 
Ve lo meritate Gil Amelio!

 
tutto il discorso era ovviamente in funzione del e riferito alla 
questione $PATH e sue possibili modifiche e manipolazioni
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
Speak softly and carry a +6 two-handed sword.

 finale senza niente dopo.
Esatto, ovviamente il tip va bene anche sul pinguino inserendo in .bashrc
PATH=$PATH:
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
Real wealth can only increase.
		-- R. Buckminster Fuller


ROTFL
Un path relativo e' relativo ad uno assoluto in cui presumibilmente ci si 
trova gi�
ad esempio se sono nella dir /home/utente/ e voglio vedere il file 
miofile.txt contenuto nella directory myfiles il comando sar� cat 
myfiles/miofile.txt il cui percorso assoluto � 
/home/utente/myfiles/miofile.txt

 /home/utente/myfiles/miofile.txt
Che è appunto quello che ho scritto io, ma evidentemente hai delle
difficoltà con la lingua italiana...




-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
No violence, gentlemen -- no violence, I beg of you!  Consider the 
furniture!
		-- Sherlock Holmes
Veramente tu hai detto che il puntino non identifica una dir fissa e che 
quindi e' un path variabile per definizione, bene tienti forte, *e' 
sbagliato*. Il percorso assoluto non deve essere necessariamente fisso, 
ma indipendentemente dalla directory in cui ti trovi, _quella_ directory 
e' comunque un percorso assoluto, qualunque essa sia, percorso 
identificato per convenzione per l'appunto dal puntino (dirname NAME, man 
dirname).
I due puntini sono gia' un percorso relativo perche' si relazionano 
necessariamente ad una directory di partenza. In pratica il punto *e'* 
per convenzione un percorso assoluto talmente assoluto che ti ci trovi 
gia' dentro e ci puoi interagire a differenza di quanto prodotto da $PWD 
che invece e' solo un output ed e' *una variabile* e come gia' visto non 
serve nel caso specfico. Dopo di che restano solo i disegnini......
-- 
.,¸¸,ø¤º°°º¤ø,¸_¸cRuncH.,¸¸,ø¤º°°º¤ø,¸_¸
           and....yes, we crunch
 
No violence, gentlemen -- no violence, I beg of you!  Consider the 
furniture!
		-- Sherlock Holmes

 sbagliato*.
Ma neanche per idea...
