comando da shell

Ciao a tutti... Ho fatto un aggiornamento della mia distro Debian Lenny
e al riavvio (apparte i problemi di routine con LILO e varie
periferiche) il comando cd da shell quando sono root non va piú!

Ecco l'output:

enrico(a)orson:~$ sudo cd
sudo: cd: command not found

Da utente normale funziona e prima del dist-upgrade andava tutto a
meraviglia :slight_smile:

Qualcuno sa come posso fare?
Il kernel che uso ora é 2.6.24-1-686

Grazie!

Enrico

Ciao a tutti... Ho fatto un aggiornamento della mia distro Debian
Lenny
e al riavvio (apparte i problemi di routine con LILO e varie
periferiche)

Lenny e` il branch *testing* della debian... quindi dopo non dire che
non ti abbiano
avvisato :wink:

il comando cd da shell quando sono root non va piú!

Ecco l'output:

enrico(a)orson:~$ sudo cd
sudo: cd: command not found

Da utente normale funziona e prima del dist-upgrade andava tutto a
meraviglia :slight_smile:

Qualcuno sa come posso fare?
Il kernel che uso ora é 2.6.24-1-686

cd e` built-in della shell, se non va piu` cd hai un problema serio...

Root che shell ha? (guarda in /etc/passwd)? Bash?

Se chiami la bash e poi dai cd cosa ti dice...?

Bye,
Chris.

> Ciao a tutti... Ho fatto un aggiornamento della mia distro Debian
> Lenny
> e al riavvio (apparte i problemi di routine con LILO e varie
> periferiche)

Lenny e` il branch *testing* della debian... quindi dopo non dire che
non ti abbiano
avvisato :wink:

> il comando cd da shell quando sono root non va piú!
>
> Ecco l'output:
>
> enrico(a)orson:~$ sudo cd
> sudo: cd: command not found
>
> Da utente normale funziona e prima del dist-upgrade andava tutto a
> meraviglia :slight_smile:
>
> Qualcuno sa come posso fare?
> Il kernel che uso ora é 2.6.24-1-686

cd e` built-in della shell, se non va piu` cd hai un problema serio...

$ sudo cd
sudo: cd: command not found

sudo prova a trovare cd, pero e built-in della shell. percio non
funzionera :wink:

provi:

sudo sh
cd

daniel

la root ha la bash! Ho provato a fare come dici tu ma non funziona :frowning:
Lo so che Lenny é pericolosa ma é l'unico modo per stare a passo con
"Ubuntu" ....

Chris Mair wrote:

Si divento root funziona tutto! Il problema é quando da utente voglio
dare un comando di root :(ex. sudo cd /etc/...)

Ora devo diventare sudo per fare poi un normale cd

daniel g. siegel wrote:

Hmm, non capisco il problema. Sudo esegue *un* commando, e un 'cd' senza
comandi che seguono non ha molto senso a mio parere.
Se vuoi eseguire piu' di un comando, devi eseguire una shell che poi ti lancia
la serie di comandi, per esempio:

sudo sh -c 'cd /tmp; ls'

Con questa soluzione pero', quando sudo termina, la working directory e'
tornata a quella originale, non /tmp. (perche' cambi la working directory
dentro la sub-shell.)

Se questo non risolve il tuo problema, spiegalo in dettaglio. Ho la vaga
sensazione che stai cercando di risolvere un problema con un approccio
inadatto al problema.

HTH,
Thomas

Ciao Enrico,

Thomas Pircher wrote:

Si divento root funziona tutto! Il problema é quando da utente voglio
dare un comando di root :(ex. sudo cd /etc/...)

Hmm, non capisco il problema. Sudo esegue *un* commando, e un 'cd' senza
comandi che seguono non ha molto senso a mio parere.

era per fare un esempio l cd senza comandi a seguito ma per essere piú
chiaro ecco un esempio:

come utente:

enrico(a)orson:~$ cd /etc/init.d/
enrico(a)orson:/etc/init.d$

ok.... ora come root:

enrico(a)orson:~$ sudo cd /etc/init.d/
sudo: cd: command not found
enrico(a)orson:~$

questo é il problema... prima dell'aggiornamento funzionava...

Alle mercoledì 09 aprile 2008, Enrico Zanardo ha scritto:

Thomas Pircher wrote:
>> Si divento root funziona tutto! Il problema é quando da utente voglio
>> dare un comando di root :(ex. sudo cd /etc/...)
>
> Hmm, non capisco il problema. Sudo esegue *un* commando, e un 'cd' senza
> comandi che seguono non ha molto senso a mio parere.

era per fare un esempio l cd senza comandi a seguito ma per essere piú
chiaro ecco un esempio:

come utente:

enrico(a)orson:~$ cd /etc/init.d/
enrico(a)orson:/etc/init.d$

ok.... ora come root:

enrico(a)orson:~$ sudo cd /etc/init.d/
sudo: cd: command not found
enrico(a)orson:~$

Scusa, ma se anche funzionasse dopo averlo eseguito ti ritroveresti
esattamente nel folder di partenza... no?

questo é il problema... prima dell'aggiornamento funzionava...

Ho fatto la prova su una etch che avevo in giro, ma mi dà esattamente lo
stesso messaggio che dà a te... sei sicuro che non si sia corrotto lo script
che usi?

> Se vuoi eseguire piu' di un comando, devi eseguire una shell che poi ti
> lancia la serie di comandi, per esempio:
>
> sudo sh -c 'cd /tmp; ls'

confermo in pieno... e come detto prima sudo esegue "un" comando.

> Se questo non risolve il tuo problema, spiegalo in dettaglio. Ho la vaga
> sensazione che stai cercando di risolvere un problema con un approccio
> inadatto al problema.

Concordo :slight_smile:

> HTH,
> Thomas

Ciao,
DAniele

enrico(a)orson:~$ sudo cd /etc/init.d/
sudo: cd: command not found
enrico(a)orson:~$

questo é il problema... prima dell'aggiornamento funzionava...

Ciao,

confermo che su ubuntu 6.06, su ubuntu 7.04 e su debian 4.0 ("etch")
succede la stessa cosa.

Come tutti gli altri hanno gia` spiegato, stai dando un comando
che non ha senso: sudo esegue un comando *esterno* come root
in una shell *nuova*.

cd e un comando interno che eseguito come unico comando in
una shell nuova non avrebbe nessun effetto

Se vuoi eseguire uno script in /etc/init.d/ dai (esempio):

   sudo /etc/init.d/postgresql start

Bye,
Chris.