PDA

Visualizza la versione completa : /etc/profile.d/ e alias


zoggialuca
12-08-2008, 00:02
ciao a tutti.

per testare la connessione internet faccio dei ping a google. così ho deciso di usare alias per non digitare ogni volta l'intero comando.

per far si che il comando sia sempre disponibile, parlando in termini di sessione che di utente, ho provato a cercare in internet.
ho scoperto che nella directory /etc/profile.d/ si possono inserire file .sh che vengono chiamati in fase di avvio del sistema. infatti all'avvio, a meno che io non abbia capito male, viene eseguito /etc/profile e al suo interno trovate anche il seguente codice:


if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

così io dovrei aver risolto i miei problemi, poichè cerca ed esegue tutti i files .sh in /etc/profile.d, ed invece non accade nulla.

so che ci sono altri metodi per fare quanto voglio, ad esempio incollare l'alias in /etc/profile o /etc/bash.bashrc, però mi interessava quanto scritto perchè così posso fare anche altre modifiche senza toccare files ben più importanti.

quale potrebbe essere il problema?

aggiungo l'output di ls -l /etc/profile.d


-rwxr--r-- 1 root root 55 2008-08-11 21:43 setAlias.sh


grazie a tutti.

menphisx
12-08-2008, 00:33
Metti gli alias in ~/.bashrc e riavvia bash.

zoggialuca
12-08-2008, 14:11
mettendoli in ~/.bashrc la modifica vale solo per l'utente, infatti il file è all'interno della home.
a me interessava invece che l'alias (o qualsiasi altra istruzione all'interno dei file .sh) valesse per tutti gli utenti.

cacao74
12-08-2008, 17:34
Originariamente inviato da zoggialuca
mettendoli in ~/.bashrc la modifica vale solo per l'utente, infatti il file è all'interno della home.
a me interessava invece che l'alias (o qualsiasi altra istruzione all'interno dei file .sh) valesse per tutti gli utenti.

Se lavori sotto X, e' normale che non venga interpellato /etc/profile, visto che normalmente xterm e soci, non vengono lanciati come shell di login. Se questo per te e' necessario, dovrai lanciare il terminale come shell di login.
Ad esempio, per in link ad un pulsante per xterm:


xterm -ls


man bash
sezione INVOCATION

ciao

zoggialuca
12-08-2008, 18:07
ho lasciato il login tramite X e ho modificato /etc/bash.bashrc (mi sono fatto comunque una copia comunque dell'originale, eheh) aggiungendo il codice di /etc/profile nel quale si andava ad invocare i files .sh in /etc/profile.d

ah, per i permessi io ho messo 755 sia per profile.d che per tutti i files .sh che contiene.

grazie 1000.

Loading