Newsgroup: it.comp.os.linux.iniziare
Titolo: Domanda stupida.

Ho compilato e linkto alcuni sorgenti senza alcun problema.
Il problema e' nato quando ho provato ad eseguirli.
Mettiamo che il file si chiami auto.exe
Se io provo ad eseguire auto.exe, la shell
(tcsh o bash, indifferentemente), mi risponde 
che non trova nesun file o comando cosi' chiamato.
Se invece digito ./auto.exe invece di auto.exe, il
programma viene eseguito.
La domanda stupida e' la seguente: come devo fare per esguire
senza il ./ ?
Grazie.

senza il ./ ?
Devi inserire la directory in cui hai il file eseguibile nella tua
variabile PATH, MA LASCIA PERDERE, e' meglio e' piu' sicuro.
Saluti
Roberto.
-- 
			  /:= Linux Powered =:/
  	    /:= e-mail: metti "libero" al posto di "NOSPAM" =:/

senza il ./ ?
Mettere il tuo programma in una directory compresa nel PATH.
Oppure, perdendo un poco in sicurezza, ggiungere al PATH anche la
directory corrente ./
-- 
           |Save our planet!
  Ciao     |Save wildlife;
  roberto  |For your E-MAIL use only recycled Bytes !!
           |roberto poggi  
rpo...@softhome.net

 il ./ ?
Aggiungi ":." in coda al PATH, per indicare la directory corrente... ma
in genere non si fa, e si usa esplicitamente il "./".
-- 
  _      ___ ____
 | | /| / (_)_  /
 | |/ |/ / / / /_	ANTI-SPAM WARNING:
 |__/|__/_/ /___/	the e-mail address is fake.
 
Mi me sembren vuna massa de pirla, dre' a applaudi' vun alter pirla (Elio)

 Grazie.

 inserito l'estensione "exe" come in win?).
Perche' il make, non mio, lo chiamava cosi' :-)
Grazie a tutti, ma spiegatemi: perche' ci sarebbero problemi 
di sicurezza ad aggiungere qualcosa al path?
Ed ancora: se io includo la directory d'interesse (auto)
in una delle directory in path (ad esempio  /usr/local/bin),
la directory auto sara' anch'essa in path o devo dichiarare
esplicitamente nel path anche la subdirectory auto?
Grazie ancora.

esplicitamente nel path anche la subdirectory auto?
Questa, onestamente, non l'ho capita.
Forse, e dico forse, dicevi:
cd /usr/local/bin
mkdir auto
E speri che la directory auto erediti l'eseguibilita' del PATH?
Ti sbagli di grosso.
Il path e' formato da indirizzi assoluti non ricorsivi.
Quello che ti si suggeriva era di mettere il comando che vuoi eseguire,
nella directory /usr/local/bin, cosi' da farlo rientrare nel PATH.


intero.
A questo punto.. e` possibile controllare la precedenza nella ricerca?
Uno (che sarei io) dice: "Beh nel path viene prima /bin di ., quindi
sono in una botte di ferro". Manco per niente, mi prende prima la
directory corrente:-(
-- 
Ci sentiamo  |  Remigio Zedda
             |  
remi...@tiscalinet.it
ciao Remigio |                    kernel 2.2.16 su Slack 7.0

directory corrente:-(
Ma tu il . nel path dove l'hai messo?
A me non si comporta cosi', scorre in ordine di PATH.
Che distribuzione usi?


Che distribuzione usi?
Nella Slack non riesco a togliere il . dal path!!
Il test l'ho fatto con la Debian. Ho messo il seguente: ~/prova
#!/bin/bash
echo home
ed invece ho messo in /bin/prova
#!/bin/bash
echo bin
Ho aggiunto in /etc/profile il ":.", eccolo:
PATH="/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:."
dando "prova" mi ha scritto "home" !?!
Chiaramente invece il discorso cambia se comando l'esecuzione, allora
non c'e` bisogno del . nel path: ". prova" mi da` "home", del genere
(penso) "vi prova" che apre il file nella dir attiva anche se essa non
figura nel path.


Il test l'ho fatto con la Debian. Ho messo il seguente: ~/prova
Il buffo e' che l'ho fatto anch'io con debian 2.2, e si e' comoprtato
esattamente al contrario.
Poi, dopo questo tuo post, l'ho rifatto, e si e' comportato come dici
tu.
A mia discolpa aggiungo che sono le 02.20, domani riprovo un po' piu'
fresco, cosi' scopriamo se la mia debian si e' fatta influenzare dal tuo
post (sistema esperto?), o se io sono del tutto suonato.
Suonato per suonato, pensa che ho fatto anche un updatedb, cosi' per
scrupolo, e continua ad eseguire da home.
Bah, e' comunque una conferma che le nostre paranoie non sono poi del
tutto ingiustificate, il punto in path puo' essere molto pericoloso, e
anche piuttosto subdolo.


 Il path e' formato da indirizzi assoluti non ricorsivi.
Era cio' che mi serviva sapere.
Grazie.

Era cio' che mi serviva sapere.
Vinco quaccheccosa per la comprensione della domanda sul PATH? :-))


anche piuttosto subdolo.
Beh, finche' bash va a giornate..;-)


Ma perche' updatedb? Non e` quello che serve solo per locate?
Senti, erano le due, una debian, dico, una debian! mi stava prendendo
per i fondelli, e tu pensi che io mi fermi davanti al fatto che
l'updatedb serve solo per il locate? Avrei provato anche con winzip!
Nel mio arrampicarmi sufgli specchi, ero arrivato all'elucubrazione di:
Sta a vedere che per trovare piu' alla svelta il comando, si appoggia al
db di locate.
Ragazzi, sto impazzendo.
Ho ripetuto la prova:
---------------------
poggi@mail:~$ ls -la /usr/local/bin/poi
-rwxrwxrwx    1 root     staff          24 set 20 22:57
/usr/local/bin/poi
poggi@mail:~$ poi
ciao home
poggi@mail:~$ mv poi poipoi
poggi@mail:~$ poi
ciao usr local bin
poggi@mail:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:.
poggi@mail:~$
poggi@mail:~$
poggi@mail:~$ ls -la poi
ls: poi: File o directory inesistente
poggi@mail:~$ mv poipoi poi
poggi@mail:~$ ls -la poi
-rwxrwxrwx    1 poggi    poggi          15 set 20 22:55 poi
poggi@mail:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:.
poggi@mail:~$ poi
ciao usr local bin
poggi@mail:~$ ./poi
ciao home
poggi@mail:~$ poi
ciao usr local bin
poggi@mail:~$ su -c "mv /usr/local/bin/poi /usr/local/bin/poipoi"
Password:
poggi@mail:~$ poi
bash: /usr/local/bin/poi: File o directory inesistente
poggi@mail:~$ ls -la poi
-rwxrwxrwx    1 poggi    poggi          15 set 20 22:55 poi
poggi@mail:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games:.
-----------------------
Adesso capisci perche' ho pensato al locate????????
A costo di leggermi i sorgenti di bash, questa la voglio capire.
Ho gia' capito come passero' il prossimo week-end.
[*] A prima vista, sembrano coglionate pazzesche, poi le analizzi
meglio, e scopri che sono pazzesche coglionate.


(penso) "vi prova" che apre il file nella dir attiva anche se essa non
penso che non hai configurato correttamente qualcosa, potresti avere
ad esempio in .bashrc o altro
PATH=$HOME:$PATH e il discorso cosi salta... per verificare fai
echo $PATH cosi vedi se il . appare per ultimo
-- 
     #@@@ missinglink on slackware 7.1 ###
     ####       member of telug        #@@
 

meglio, e scopri che sono pazzesche coglionate.
Questa vuole meditata.. beati gli Inglesi che mettono sempre prima
l'aggettivo.


echo $PATH cosi vedi se il . appare per ultimo
No, quello no, ci son stato ben attento. Con la Slack avevo preso
l'abbaglio di avere la dir attiva nel path gia` da tempo e non avevo
voglia di guardare non so dove per toglierlo (l'avevo tolto dall'unico
file per bash e non capivo perche' restasse). Poi ieri ho visto che non
c'era, quando ho capito la differenza tra "prova" e "source prova".. un
momento, c'e` da vedere la storia delle sessioni di bash e la storia di
~/.bashrc e ~/.bash_profile, nonche' /etc/bash_bashrc che qui nella
Slack son tutti assenti. Bisogna vedere con che path entra bash2.
Complichescion assai.. magari forka anche qualche cosa;-)


Ho gia' capito come passero' il prossimo week-end.
E intanto anche da me non c'e` stato piu` verso di farglielo fare, ne'
con la Deb, ne' con la Slack. Boh boh boh..


Impossibile! il path ritorna al valore $PATH, dopo mv
Sara' anche impossibile, ma la stessa cosa l'ho fatta due volte, e per
due volte ho avuto lo stesso risultato.
Adesso mi resta da spulciare[*] dove diavolo la bash tiene una cache che
aggiorna male. (e poi provero' anche con un kernel nuovissimo, vi terro'
informati, se a qualcuno interessa qualcosa.:-)) )
