PATH & SHELL

Résolu
melwin Messages postés 41 Statut Membre -  
melwin Messages postés 41 Statut Membre -
Bonjour, et bonne année à tous

j'ai deux questions :

1) J'ai une erreur dans ma variable PATH. Deux slashs se suivent, du genre "/usr/local/etq3//bin". $PATH m'affiche la valeur suivi du message d'erreur.
- J'ai regardé dans /etc/profile et dans /$HOME/.bash_profile et je n'ai rien vu qui la modifie comme ça.
- Elle est pratiquement d'origine, je l'ai juste modifiée ainsi : PATH=$PATH:/$HOME/bin

=> Si vous avez une idée pour modifier cette erreur?

2) A propos de la création de fichiers exécutables:
- Avec vi je crée mon script et je le rend exécutable : chmod +x monfichier.
- Quand je liste mes fichiers, je me retrouve avec deux fichiers éxécutables: monfichier* et monfichier~*

=> Pouvez vous m'expliquer pourquoi? Ca fait mal docteur?

Cdlt

Melwin
Configuration: Mandriva 2007

9 réponses

  1. dmganges
     
    Bjr,
    Non ça ne fait pas mal !

    1)
    Les doubles // n'ont aucune conséquence, moi aussi ça ne me plaisait pas...
    n'ayant pas trouvé... j'ai fini par forcer le PATH dans le .bashrc :
    PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin

    2) C'est une option de vi positionnée probablement dans le fichier .vimrc à la racine du compte
    je ne me souviens pas son nom, elle à pour but de faire une sauvegarde du fichier dès qu'on fait un vi dessus, et qu'on est donc susceptible de le modifier.

    voici mon .vimrc
    set nu
    set ts=4

    nu c'est pour la numérotation des lignes
    ts le nombre de caractères pour la tabulation

    Slt
    0
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    hello
    il y a déja un / dans $HOME, c'est lui qui est en trop /$HOME

    dans vim:
    :set nobk
    0
  3. melwin Messages postés 41 Statut Membre 2
     
    c'est une erreur dans mon post je n'ai pas mis /$home
    0
  4. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    $HOME c'est une variable d'environnement qui contient le chemin complet de l'utilisateur /home/utilisateur
    donc tu dois faire
     export PATH=$PATH:$HOME/bin


    regarde ici, pour plus de détails La variable d'environnement PATH
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. melwin Messages postés 41 Statut Membre 2
     
    En fait, je n'ai pas de problème avec la variable $Home, c'est une erreur dans mon poste de départ. Je n'ai pas eu de problème pour ajouter $HOME/bin.

    C'est par défaut, dans ma variable, j'ai une partie qui se charge automatiquement :=> "/usr/local/etq3//bin".

    Et je ne trouve pas dans les fichiers /etc/profile ; /home/utilisateur/.bash_profile ; /home/user/.bashrc de ligne de commande ajoutant ces valeurs dans la variable PATH...
    0
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Déjà tu peux commencer lire l'article que je t'ai donné ;-)
    Ensuite tu peux afficher ici ton fichier /etc/profile (mais attention, la modification de /etc/profile est globale pour tous les utilisateurs)
    0
  8. melwin Messages postés 41 Statut Membre 2
     
    J'ai lu l'article, j'avais déjà lu des trucs similaires, mais merci beaucoup quand même:
    - Linux Ed CampusPress; Linux Initialisation et utilisation Ed DUNOD.

    Alors voilà, bonne lecture
    $PATH donne : -bash: /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games:/usr/lib/qt3//bin:/home/user/bin: Aucun fichier ou répertoire de ce type

    :=> On remarque le double // entre qt3 et bin

    Et voilà mon fichier /etc/profile (j'ai même mis les commentaires)

    # /etc/profile -*- mode shell-script -*-
    # (c) MandrakeSoft , machin <machin@mandrake.com>
    loginsh=1
    # Users generally won't see annoyng core files
    [ "$UID "= "0" ] && ulimit -S -c 1000000 > /dev/null 2> &1
    if ! echo ${PATH} | grep -q /usr/X11R6/bin; then
    PATH="$PATH:/usr/X11R6/bin"
    fi

    if [ "$UID" -ge 500] && ! echo ${PATH} | grep -q /usr/games ; then
    PATH="$PATH:/usr/games"
    fi

    umask 022
    USER=`id -un`
    LOGNAME=$USER
    MAIL="/var/spool/mail/$USER"
    HISTCONTROL=ignoredups
    HOSTNAME=`bin/hostname`
    HISTSIZE=1000

    if [ -Z "$INPUTRC" -a ! -f "$HOME/.inputrc"] ; then
    INPUTRC=/etc/inputrc
    fi

    # Some hold programs still use it (eg: "man") and is also
    # required for level1 compliance for LI18NUX2000

    export PATH PS1 USER LOGNAME MAIL HOSTNAME
    export HISTCONTROL HISTSIZE

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

    unset ;
    0
  9. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    J'ai lu l'article, j'avais déjà lu des trucs similaires
    c'est bien ;-)
    en revanche j'ai l'impression que tu n'as pas compris

    Alors voilà, bonne lecture
    $PATH donne : -bash: /usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/usr/games:/usr/lib/qt3//bin:/home/user/bin: Aucun fichier ou répertoire de ce type


    on ne tape pas $PATH dans une console (même si de cette façon tu vois le PATH)
    sous shell pour lire le contenu d'une VARIABLE on tape echo $VARIABLE

    Pour la variable PATH la commande d'affichage du contenu sera echo $PATH

    Affiche
    grep PATH .bashrc
    0
  10. melwin Messages postés 41 Statut Membre 2
     
    Pan sur les doigts! Oui cette fois j'ai compris, je le savais pourtant, mais la facilité... J'apprends, merci de ton aide.

    Pour le grep PATH .bashrc, cela ne donne rien.
    0