Il y a une erreur chaque fois quun nouveau terminal est ouvert,
erreur: « bash: export: command not found «
Je copie uniquement export all_proxy = » « et exporte ALL_PROXY = » « vers le terminal, puis lorsque jouvre un nouveau terminal, limage de la situation apparaîtra.
Voici limage:
Jentre la commande:
grep export ~/.bashrc
ouput:
Jentre la commande:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
sortie:
Commentaires
- Pouvez-vous publier la commande qui a donné lerreur ainsi que lerreur elle-même. Il semble que vous ayez un caractère devant la commande.
- @ bu5hman Je copie uniquement export all_proxy = » » et exportez ALL_PROXY = » » vers le terminal, puis lorsque jouvre un nouveau terminal, limage de la situation apparaîtra .
- Les autres commandes bash fonctionnent-elles? Avez-vous fait quelque chose à $ PATH dans cette session de terminal ou dans la précédente? Ou modifier votre profil bash?
- guillemet simple avant lexportation dans .bashrc .bash_profile?
- @ bu5hman I don ‘ t faire quoi que ce soit dans $ PATH, le premier se produit, je réinstalle kali linux, le second est toujours le cas. Le second je ne copie que export all_proxy = » » et exportez ALL_PROXY = » » vers le terminal, puis lorsque jouvre un nouveau terminal, limage de la situation apparaîtra.
Réponse
Il semble que vous ayez modifié votre fichier .bashrc.
Je peux reproduire cette erreur exactement si je mets
"‘export"
comme dernière ligne de mon .bashrc
Pour le vérifier, exécutez simplement
grep export ~/.bashrc
Si grep
donne une sortie comme ci-dessus, éditez-la à partir de votre fichier ~ / .bashrc.
Modifier: Depuis votre dernière modification de message, vous pouvez voir que vous avez 2 lignes commençant par « exporter les supprimer toutes les deux f rom ~ / .bashrc.
Commentaires
- Que dois-je faire maintenant?
- Ici
`
est un backtick. LOP avait un caractère‘
à la place. - @St é phaneChazelas A convenu que la commande est syntaxiquement incorrecte. Lerreur bash semble cependant due aux lignes dans ~ / .bashrc.
- À proprement parler, la commande est syntaxiquement correcte mais se trouve juste pour essayer dappeler une commande (
‘export
) introuvable. - @St é phaneChazelas Daccord. Syntaxiquement correcte si vous appelez une nouvelle commande appelée
‘export
, mais incorrecte si vous essayez dappelerexport
. Nous les appelions typo ‘ s. Un vrai diable pour les sortir du papyrus.
Réponse
En supposant que vous « avez copié-collé cela commande telle quelle, il se plaint que la commande ‘export
est introuvable là où ‘
est le U + 2018 restant guillemet simple caractère non ASCII (à ne pas confondre avec lASCII "
apostrophe / guillemet simple (U + 0027) ou ASCII `
caractère backtick / grave accent (U + 0060)).
Puisque ce caractère nest en aucun cas spécial pour bash
, une ligne de commande comme:
‘export foo=bar’
(où ’
est U + 2019, le guillemet simple à droite)
Est interprété comme exécutant la commande ‘export
avec foo=bar’
comme argument. Si vous aviez écrit:
"export foo=bar"
à la place, cest-à-dire avec ces U + 2018 et U + 2019 remplacés par une apostrophe ASCII, un caractère spécial pour bash
car il « est un opérateur de guillemet, qui aurait été traité comme exécutant la commande export foo=bar
sans argument. Il nexiste pas de commande de ce type. Ce nest pas ce que vous voulez non plus.
Vous voulez
export foo=bar
ou
"export" "foo=bar"
Cest-à-dire exécuter la commande export
avec un argument foo=bar
.
Ici, vous aurez besoin pour supprimer ce caractère U + 2018 (et éventuellement le caractère U + 2019 correspondant le cas échéant) partout où vous lavez inséré dans votre ~/.bashrc
ou ailleurs. Où que vous ayez copié-collé ce code , ces caractères nétaient pas destinés à être copiés.
Pour trouver où cette fausse commande a été introduite sinon dans ~/.bashrc
(bien que votre dernière modification montre quelle se trouve dans votre ~/.bashrc
en effet), vous pouvez essayer dexécuter:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
(le $PS4
serait ignoré par les shells en cours dexécution comme root
avec bash-4.4 ou plus récent cependant, ce qui semble être votre cas, cest pourquoi vous voyez ++
au lieu du nom de fichier et numéro de ligne).
Commentaires
- Que dois-je faire maintenant?
- @MichaelSmith Vous devez éditer
~/.bashrc
, mais avant cela, regardez ici: unix.stackexchange.com/questions/399626 - @MichaelSmith, ce que jai dit dans la réponse. Vous pouvez également souhaiter que reçoive des didacticiels ou commence avec un système de type Unix plus simple avant dutiliser un système destiné aux professionnels
- @St é phane Chazelas Jai copié-collé le code en réponse de stackoverflow.com/questions/47304988/…
- @MichaelSmith LOP utilise Kali mais lerreur nest pas vraiment liée à la distribution. Cela se serait également produit avec Ubuntu ….. don ‘ t copier-coller