Există o greșeală de fiecare dată când se deschide un terminal nou,
error: „bash: export: comanda nu a fost găsită „
Copiez doar export all_proxy =” „și export ALL_PROXY =” „la terminal, atunci când deschid un terminal nou, va apărea imaginea situației.
Aceasta este imaginea:
Am introdus comanda:
grep export ~/.bashrc
ouput:
Am introdus comanda:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
ieșire:
Comentarii
- Puteți posta comanda care a dat eroarea, precum și eroarea în sine. Se pare că ai un caracter în fața comenzii.
- @ bu5hman Copiez doar export all_proxy = " " și export ALL_PROXY = " " la terminal, atunci când deschid un terminal nou, în imaginea situației va apărea .
- Funcționează alte comenzi bash? Ați făcut ceva pentru $ PATH în această sesiune de terminal sau în cea anterioară? Sau editați-vă profilul bash?
- cotația principală înainte de export în .bashrc .bash_profile?
- @ bu5hman Nu ' nu fac nimic în $ PATH, întâi apar Reinstal kali linux, al doilea este încă cazul. Al doilea copiez doar export all_proxy = " " și exportați ALL_PROXY = " " la terminal, atunci când deschid un terminal nou, va apărea imaginea situației.
Răspuns
Se pare că ți-ai editat fișierul .bashrc.
Pot replicați această eroare exact dacă pun
"‘export"
ca ultima linie din .bashrc
Pentru a o verifica, executați
grep export ~/.bashrc
Dacă grep
oferă o ieșire ca cea de mai sus, editați-o din fișierul dvs. ~ / .bashrc.
Editare: din ultima editare a postării puteți vedea că aveți 2 linii începând „export ștergeți-le pe amândouă f rom ~ / .bashrc.
Comentarii
- Acum ce ar trebui să fac?
- Aici
`
un backtick. OP avea în schimb un caracter‘
. - @St é phaneChazelas A fost de acord că comanda este sintactic greșită. Eroarea bash pare totuși datorată liniilor din ~ / .bashrc.
- Strict vorbind, comanda este corectă din punct de vedere sintactic, dar se întâmplă doar să încercăm să invocăm o comandă (
‘export
) care nu poate fi găsit. - @St é phaneChazelas De acord. Sintactic corect dacă invocați o nouă comandă numită
‘export
, dar incorectă dacă încercați să apelațiexport
. Obișnuiam să le numim greșeli de tip ' s. Un adevărat diavol care să-i scoată din papirus.
Răspunde
Presupunând că ai copiat comanda ca atare, se plânge că comanda ‘export
nu a fost găsită acolo unde ‘
este U + 2018 stânga ghilimel unic caracter care nu este ASCII (nu trebuie confundat cu ASCII "
apostrof / citat simplu (U + 0027) sau ASCII `
caracter backtick / accent grav (U + 0060)).
Deoarece caracterul respectiv nu este special în niciun fel pentru bash
, o linie de comandă cum ar fi:
‘export foo=bar’
(unde ’
este U + 2019, ghilimele unice potrivite)
Este interpretat ca executând comanda ‘export
cu foo=bar’
ca argument. Dacă ați fi scris:
"export foo=bar"
, în schimb, cu acele U + 2018 și U + 2019 înlocuite cu apostrof ASCII, un caracter special pentru bash
deoarece este „un operator de cotare, care ar fi fost tratat ca executând comanda export foo=bar
fără argument. Nu există o astfel de comandă. Aceasta nu este ceea ce vrei fie.
Vrei
export foo=bar
sau
"export" "foo=bar"
Aceasta înseamnă să rulați comanda export
cu un argument foo=bar
.
Aici veți avea nevoie pentru a elimina acel caracter U + 2018 (și, eventual, caracterul corespunzător U + 2019, dacă există) oriunde l-ați inserat în ~/.bashrc
sau în altă parte. Oriunde ați copiat codul din , aceste caractere nu au fost destinate copierii.
Pentru a găsi unde a fost introdusă acea comandă falsă, dacă nu în ~/.bashrc
(deși ultima dvs. editare arată că este în ~/.bashrc
într-adevăr), ați putea încerca să rulați:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
($PS4
ar fi ignorat de shell-urile care rulează ca root
cu bash-4.4 sau mai nou, totuși, ceea ce pare să fie cazul dvs., motiv pentru care vedeți ++
în locul numelui fișierului și numărul liniei).
Comentarii
- Acum ce ar trebui să fac?
- @MichaelSmith Trebuie să editați
~/.bashrc
, dar înainte de aceasta, aruncați o privire aici: unix.stackexchange.com/questions/399626 - @MichaelSmith, ce am spus în răspuns. De asemenea, este posibil să doriți ca să obțină niște tutoriale sau să înceapă cu un sistem mai ușor de tip unix înainte de a utiliza un sistem destinat profesioniștilor
- @St é phane Chazelas Am copiat-lipit codul ca răspuns de la stackoverflow.com/questions/47304988/…
- @MichaelSmith OP utilizează Kali, dar eroarea nu are legătură cu distribuția. S-ar fi întâmplat și cu Ubuntu ….. nu ' nu copiați lipiți