Newsgroup: it.comp.os.linux.iniziare
Titolo: Ubuntu, PATH e script da lanciare con SUDO

Ciao a tutti,
sul mio PC c'è installata su Ubuntu 08.04.
Ho fatto uno script che deve essere lanciato con i privilegi di root. Questo
script l'ho copiato in una directory che fa parte della PATH associata al
mio utente.
Il problema sorge nel momento in cui lo lancio da una directory diversa
rispetto a quella dove risiede lo script stesso: sembra che la PATH non
venga riconosciuta.
Infatti, se lancio:
sudo instlaz.sh
mi viene restituito l'errore:
sudo: instlaz.sh: command not found
Leggendo qualche guida, ho provato a modificare il file "/etc/profile"
aggiungendo la directory ove risiede lo script, ma non funziona ancora.
Qualche suggerimento?
Grazie in anticipo, Mario
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Qualche suggerimento?
fatto il logout?
Comunque e' molto piu' facile indicare tutto il percorso direttamente, no?
sudo /ciccio/pippo/script.sh

 Qualche suggerimento?
che ti restituisce
$ echo $PATH
? dopo aver modificato /etc/profile hai dato
# . /etc/profile
?
ciao
-- 
Never try to teach a pig to sing.
It wastes your time and annoys the pig.

 # . /etc/profile
La modifica l'ho fatta ieri e provata stamattina. Se non ho capito male, le
informazioni contenute il "/etc/profile" dovrebbero essere caricate
all'avvio del PC


MBulu scrisse:


 funziona ancora.  
/etc/profile e` un file di sistema che contiene le 
impostazioni di base che vengono caricate per default 
da una shell di login; se esistono i file ~/.profile 
~/.bash_profile o ~/.bash_login vengono caricate le 
impostazioni personalizzate in essi e generalmente 
scavalcano l'impostazione del PATH in /etc/profile.
Inoltre questi vengono eseguite per le shell di login,
per le shell non di login viene eseguito ~/.bashrc e 
quindi devi modificare questo file aggiungendo il PATH
o richiamando uno dei file precedenti.
man bash

 sudo /$path/instlaz.sh
Anche questo mi da' errore:
sudo: //instlaz.sh: command not found


 all'avvio del PC
si .. comunque basta dare il comando
$ . /etc/profile
oppure
$ source /etc/profile
ciao ...


 wrote:
ho riletto adesso il tuo primo post .. il PATH lo hai
aggiunto ad tuo utente, ma lanciandolo con sudo e'
root che lo cerca nel suo PATH ... metti il percorso
completo e basta ... come ti e' stato gia' detto ;-))


 completo e basta ... come ti e' stato gia' detto ;-))
Ok, questo è quello che faccio ora e non è un problema, volevo solo "una
comodità" in più ...


 sudo: //instlaz.sh: command not found
cosa vuol dire il doppio slash??? Dove e' posizionato questo benedetto 
script, nella root??? :)

Il 29 Giu 2008, 11:10, Baron d'Holbach ~1723-1789~ <inv...@invalid.invalid>
ha scritto:

ricapitolando:
- lo script è in "/home/bonmario/uty"
- il nome dello script è: "instlaz.sh"
come suggerito da "mallin.shetland", ho provato a lanciare il seguente
comando:
sudo /$path/instlaz.sh
e l'errore che mi viene emesso è:
sudo: //instlaz.sh: command not found


 sudo /$path/instlaz.sh
ma lo scrivi proprio in questo modo?
r
-- 
Alla fine tu sei stanco di queste distro sedicenti facili
Solo la Slackware è rimasta tutta nuova la Slackware
E' rimasta semplice come gli hangar dell'aeroporto
[Apollinaire, Zona]
Home Page, The Pentangle, I Salon di Baudelaire: 
http://www.umpf.net

 sudo: //instlaz.sh: command not found
:|
sudo /home/bonmario/uty/instlaz.sh


Ho fatto il copia & incolla dal post di "mallin.shetland" !!!



sudo echo $PATH
cosa ti restituisce?

 Quindi la PATH di ricerca di root non è modificabile?
IL non "la". IL Path è modificabile per l'utente root, così come lo è per
l'utente normale.
bye, giubbw

 Ho fatto il copia & incolla dal post di "mallin.shetland" !!!
LOL
ma a scuola, oltre non insegnare che le parole straniere sono sempre
maschili, non insegnano neanche più a ragionare???
bye, giubbe

 Quindi la PATH di ricerca di root non è modificabile?
TUTTO e' modificabile ... per ricapitolare:
1) lascia /etc/profile intonso ...
2) crea nelle home dir dei vari utenti dei file .bash_profile 
con dentro i PATH aggiuntivi ... ad esempio, nella mia 
directory utente in .bash_profile c'e':
export PATH="/home/utentissimo/bin:$PATH"
in modo che cerca gli eseguibili prima nella mia directory
bin e poi nel resto del PATH standard ...
3) quando lanci un comando con sudo "diventi" quell'utente
(in questo caso root) e quindi e' quell'utente che 
devi poter vedere l'eseguibile ...
in conclusione aggiungi il PATH a .bash_profile di root
e vedi che funziona ... anche se sarebbe piu' "corretto"
mettere un eseguibile di root nella directory /root/bin !
ciao


 sudo: //instlaz.sh: command not found
Ehm $path e' il percorso (se non capisci la direcory) 
dove risiede il file.
PS Anche $application e $package non vanno scritte 
letteralmente.