Visualizzazione dei risultati da 1 a 9 su 9

Discussione: shell di login e non

  1. #1

    shell di login e non

    non mi e' ben chiara la differenza... sto tentando di lanciare uno script con sh ma mi dice

    You arent running in a 'login shell'.
    Please login directly from a console
    or use 'su -l' to get the same result.

    dando su -l ottengo il medesimo risultato

    devo cambiare qualcosa in qualche file di config? ho letto il man di bash ma non ne ho cavato un ragno dal buco
    Sotto la panza la mazza avanza.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    credo che la differenza sia che vengano settate le variabili d'ambiente, mentre se da utente diventi root con il semplice comando 'su' conservi le variabili d'ambiente dell'utente e non di root.

    (ad esempio il path)

    Ho trovato questa pagina con google, non l'ho letta tutta ma sembra fatta bene:

    http://xoomer.virgilio.it/dollinger/...i/1.109.1.html

  3. #3
    dunque, li' dice

    la Login-Shell è la shell che è stata eseguita dal programma login al login. Ogni altra shell che viene eseguita dalla Login-Shell è una No-Login-Shel
    il fatto e' che l'errore me lo da' immediatamente dopo il primo login direttamente come root... ho provato anche a loggarmi come utente normale e poi a lanciare su e su - ma il risultato e' lo stesso

    boh provo a guardare nel man di login
    Sotto la panza la mazza avanza.

  4. #4
    Utente di HTML.it L'avatar di Ilmalcom
    Registrato dal
    Oct 2002
    Messaggi
    1,345
    Ti dà problemi anche con su - ?

    E' molto strano, perchè dovrebbe creare un ambiente identico a quello della shell di login, è spiegato anche nella pagina man

  5. #5
    credo di aver trovato: mi manca /etc/securetty e di conseguenza la direttiva "console" di quel file che predispone la prima shell lanciata da login ad essere, appunto, di login

    mo' provo
    Sotto la panza la mazza avanza.

  6. #6
    niente da fare... non cambia nulla
    Sotto la panza la mazza avanza.

  7. #7

  8. #8
    secondo quel documento, la shell mi si apre cone login interattivo: ho infatti verificato che .bashrc non viene letto e al suo posto viene letto .bash_profile... ma se la shell e' gia' di login perche' caspita non riesco a lanciare script da essa?
    Sotto la panza la mazza avanza.

  9. #9
    ne capisco sempre meno... ho provato a creare uno script al volo con un semplice echo messaggio all'interno, lanciato con sh e funziona...

    questo e' uno della serie di script incriminati, vi riporto la parte del controllo sulla shell:

    codice:
    if [ $? -ne 0 ];
    then
    #  echo "(completing current path to be a root path)"
    #  echo ""
      PATH=/usr/local/sbin:/usr/sbin:/sbin:${PATH}
      which depmod >/dev/null 2>&1
      if [ $? -ne 0 ];
      then
        echo "You arent running in a 'login shell'."
        echo "Please login directly from a console"
        echo "or use 'su -l' to get the same result."
        exit 1
      fi
    fi
    ora, se io appena loggato in shell eseguo $? mi restituisce 0 come da copione... perche' diamine sti cavolo di script non riescono a individuare la shell corretta? faccio notare che si tratta di una serie di script di generazione di driver ati che non hanno mai dato problemi su altre distro
    Sotto la panza la mazza avanza.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.