Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/01/2015, à 18:20

emena

[Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Bonjour et bonne année 2015


J’ai installé « compose » pour pouvoir essayer « console » pour Drupal.
J’ai suivi la procédure ici
J'ai terminé la procédure décrite sur cette page, puis j’ai dû arrêter. En reprenant ce soir, j’ai un message en boucle quand le démarre ma console :

bash: /bin/sed : Liste d’arguments trop longue

Plus moyen de ne rien faire par la console, malgré mes ^C.
chaque commande génère le même message.

Je peux tout de même faire un « echo $PATH » et j'ai un path immense avec un dossier 50 à 100 fois présent,

/home/moi/.composer/vendor/bin 

Que faire ?

Supprimer « compose » et « console », je ne peux pas je n'ai pas accès à la plus part des commandes


Merci d’avance de votre aide
EM

Dernière modification par emena (Le 06/01/2015, à 19:57)


Ubuntu 22.04.4 LTS

Hors ligne

#2 Le 03/01/2015, à 19:25

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Une piste :

Quelque chose viens rajouter en début de $HOME/.bashrc, 92 lignes

export PATH="$HOME/.composer/vendor/bin:$PATH
export PATH="$HOME/.composer/vendor/bin:$PATH
....
export PATH="$HOME/.composer/vendor/bin:$PATH

Est-ce cette instructions ?

sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
source $HOME/.bashrc

Ubuntu 22.04.4 LTS

Hors ligne

#3 Le 03/01/2015, à 19:48

pingouinux

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Bonjour,
C'est bien cette instruction qui a fichu le bazar, car elle a du être exécutée de nombreuses fois.

sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc

Édite $HOME/.bashrc, et supprime toutes ces lignes sauf une (il manque d'ailleurs le " fermant)

export PATH="$HOME/.composer/vendor/bin:$PATH

et fais en sorte que le sed ne soit plus exécuté.

Hors ligne

#4 Le 03/01/2015, à 23:24

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Merci de ton aide,


J'ai fait ce que tu as dis et le message d'erreur a disparu.
Je n'ai plus les "export PATH="$HOME/.composer/vendor/bin:$PATH" dans le bashrc

Par contre ma console continue à boucler :

Je dois faire ^C avant de commencer quoi que ce soit.
Si je fais j'ai toujours l'erreur, par exemple :

moi@moi-P55M-UD4:~/bin$ ls
bash: /bin/ls: Liste d'arguments trop longue

Si je fais

echo $PATH

J'ai toujours le même $PATH avec des dizaines de

:/home/ano/.composer/vendor/bin


Cela doit boucler plus haut.

Comment faire ?
Désinstaller composer et console, quitte à les réinstaller ?

EM


Ubuntu 22.04.4 LTS

Hors ligne

#5 Le 03/01/2015, à 23:27

pingouinux

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

As-tu fermé le terminal pour en ouvrir un nouveau ?

Hors ligne

#6 Le 03/01/2015, à 23:34

J5012

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

ou faire

source $HOME/.bashrc

pour prendre en compte les changements sans redemarrer le terminal

Hors ligne

#7 Le 03/01/2015, à 23:38

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Oui,

J'ai rebooté.

Je suis en train de chercher comment désinstaller un soft, pour le cas où.
Je suis encore un peu novice dans Ubuntu.

ce doit être quelque chose comme

sudo apt-get  delete application 

ou

sudo apt-get  remove application 

Mais est-ce que ça va tout nettoyer ?
est-ce que je dois faire quelque chose de plus ?

EM


Ubuntu 22.04.4 LTS

Hors ligne

#8 Le 03/01/2015, à 23:46

J5012

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

pourquoi tu veux desinstaller compose ?
ce n'est pas lui qui te fait afficher l'erreur ...

le reboot de ton ordi a fait que tu a seulement besoin d'ouvrir une nouvelle session de terminal ...

suivre un tuto sans savoir comment defaire est tres imprudent ... utiliser le terminal necessite certaines competences acquises par la doc et par ton travail perso ...

Hors ligne

#9 Le 03/01/2015, à 23:51

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

J5012 a écrit :

ou faire

source $HOME/.bashrc

pour prendre en compte les changements sans redémarrer le terminal

Si je fais ça, je dois interrompre par un ^C.
Je pense de plus en plus que ça doit venir de plus haut.

C'est quoi "source" ?
Je ne l'ai pas trouvé.

Par contre, je suppose que si je décide de faire une réinstallation complète, le mieux serais de faire

sudo apt-get remove --purge console
sudo apt-get remove --purge composer

Dernière modification par emena (Le 03/01/2015, à 23:52)


Ubuntu 22.04.4 LTS

Hors ligne

#10 Le 03/01/2015, à 23:59

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

J5012 a écrit :

pourquoi tu veux desinstaller compose ?
ce n'est pas lui qui te fait afficher l'erreur ...
le reboot de ton ordi a fait que tu a seulement besoin d'ouvrir une nouvelle session de terminal ...
suivre un tuto sans savoir comment defaire est tres imprudent ... utiliser le terminal nécessite certaines compétences acquises par la doc et par ton travail perso ...


On se croise ! smile

Oui,

tu as raison, je fais des choses imprudente, mais j'apprends justement.
Je n'ai pas grand chose à perdre et des backups de mes données en pagaille.

J'ai été informaticienne dans le temps, j'ai géré des bécanes sous UNIX, ce n'est pas fondamentalement nouveau pour moi.
Le tout est de ré-apprendre les détails spécifiques.

L'idée de désinstaller compose viens du fait que je pense que le, problème est en amont du .bashcr.
je n'avais pas de problème avant cette installation, mon site fonctionnait bien en local.


Ubuntu 22.04.4 LTS

Hors ligne

#11 Le 04/01/2015, à 00:02

J5012

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

la reouverture du terminal provoque encore les erreurs ? ou pas ?
si oui, ne fais pas confiance à tes annees unix, et affiche ici le contenu du bashrc ...

Hors ligne

#12 Le 04/01/2015, à 00:14

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Hello,

Pas d'erreur mais ça boucle toujours je dois sortir par un contrôle C.
Je vais dormir dessus, je reviens demain, si t.es toujours dispo demain, ce sera évêché plaisir.
Merci encore
EM


Ubuntu 22.04.4 LTS

Hors ligne

#13 Le 04/01/2015, à 00:17

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

L'évêché est une création de mon iPad.
Ce sera avec plaisir.
EM


Ubuntu 22.04.4 LTS

Hors ligne

#14 Le 04/01/2015, à 00:17

J5012

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

les explications de ce que fait l'installateur de compose : https://getcomposer.org/doc/00-intro.md … quirements

Hors ligne

#15 Le 05/01/2015, à 20:02

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Hello,

J'ai bien lu l'explication, le tuto ne semble être qu'une traduction.

voici mon .bashcr, la seule chose que j'y ai changée personnellement, est ce dont on a parlé plus haut.


# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

PATH="$HOME/.composer/vendor/bin":$PATH
# sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
# source $HOME/.bashrc

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000
source $HOME/.bashrc

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
	# We have color support; assume it's compliant with Ecma-48
	# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
	# a case would tend to support setf rather than setaf.)
	color_prompt=yes
    else
	color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Merci d'avance de votre aide
EM


Ubuntu 22.04.4 LTS

Hors ligne

#16 Le 06/01/2015, à 00:18

J5012

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

tu as une commande

source $HOME/.bashrc

activée dans le bashrc

suppr la

les lignes :

PATH="$HOME/.composer/vendor/bin":$PATH
# sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
# source $HOME/.bashrc

n'auraient jamais dues etre modifiees ainsi !
j'en deduis que tu n'as pas scrupuleusement suivi ton tuto, ou que tu l'as mal compris ... ne comprenant sans doute pas l'utilisation de sed, pourtant utilitaire purement unix ...

sed permet de modifier un script d'une ligne à plusieurs lignes, voire plusieurs termes, sans entrer en edition dans le script (qui suppose une interface), sed est l'outil qui permet de modifier des scripts à la volée, voire meme en cours d'execution ...

l'utilisation de sed permet de modifier le bashrc sans l'editer : ce que tu n'as pas fait : tu as edite le bashrc et ajouté les lignes pour le sed et le source : ca ne pouvait que rater et bugger !

suppr donc les lignes de trop :

# sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
# source $HOME/.bashrc

mais si tu avais vraiment compris l'objectif du tuto, tu aurais pu choisir un moyen moins invasif que la modification du path, comme de creer un lien symbolique ou un script raccourci pour "php composer.phar" (ce que fait en fait compose) ...

Hors ligne

#17 Le 06/01/2015, à 19:44

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

Hello,

J'ai fait une première tentative en supprimant

# sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"' $HOME/.bashrc
# source $HOME/.bashrc

Cela n'a rien changé, mais c'est logique ces lignes étaient mises en commentaires.
il restait

source $HOME/.bashrc

En le supprimant, cela remarche MERCI.

Maintenant, juste pour que tout soit clair,

- J'ai une machine en production, là je fais attention.
- J'ai une machine de test, j'y prends parfois des raccourcis osés, au pire je réinstallerais.
- J'ai des souvenir d'UNIX que j'ai  utilisé sur des PDP 11 et les VAX, je reconnais que ça date un peu. Peut-être même un peu trop  big_smile

Merci encore de ton aide, et je vais chercher un tuto sur les bash d'initialisations
EM

Dernière modification par emena (Le 06/01/2015, à 19:56)


Ubuntu 22.04.4 LTS

Hors ligne

#18 Le 07/01/2015, à 23:04

J5012

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

pdp11 ? mais mais tu dois avoir 150 ans tongue

ouvre simplement un livre sur l'admin linux, procure toi un precis ou une carte reference sur les commandes du shell, tiens y un pas mal livre sur les scripts shell : theorie et plein d'exemples avec sed ...

apres ca ira mieux cool

Hors ligne

#19 Le 08/01/2015, à 19:15

emena

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

317 exactement lol

Mais à l'époque les bécanes duraient, j'ai encore fait un beau projet sur série/1 en 1989. C'était la première fois que j'avais 512k, de mémoire centrale, c'était le luxe suprême (j'ai bien écrie 512k).

Dino EM


Ubuntu 22.04.4 LTS

Hors ligne

#20 Le 08/01/2015, à 23:07

J5012

Re : [Résolu]Bash boucle sur un message « Liste d’arguments trop longue »

emena a écrit :

317 exactement lol

Mais à l'époque les bécanes duraient, j'ai encore fait un beau projet sur série/1 en 1989. C'était la première fois que j'avais 512k, de mémoire centrale, c'était le luxe suprême (j'ai bien écrie 512k).

Dino EM

je ne suis pas si old, mais j'ai connu les memoires à 128k , vieilles boites devenues objets de recyclage ou de musée ... j'etais dans une pme à l'age d'or du recyclage ... (Vallee systems que ca s'appelait)

mon premier pc etait un ibm 8086 + 640k + cg CGA → ecran green

Hors ligne