Det er en feil hver gang en ny terminal åpnes,
error: «bash: eksport: kommando ikke funnet «
Jeg kopierer bare eksport all_proxy =» «og eksporterer ALL_PROXY =» «til terminal, så når jeg åpner en ny terminal, vises bildet av situasjonen.
Dette er bilde:
Jeg skriver inn kommandoen:
grep export ~/.bashrc
ouput:
Jeg skriver inn kommandoen:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
output:
Kommentarer
- Kan du legge ut kommandoen som ga feilen, så vel som selve feilen. Det ser ut til at du har et tegn foran kommandoen.
- @ bu5hman Jeg kopierer bare eksport all_proxy = " " og eksporter ALL_PROXY = " " til terminal, så når jeg åpner en ny terminal, vil bildet i situasjonen vises .
- Fungerer andre bash-kommandoer? Gjorde du noe med $ PATH i denne eller forrige terminalsessionen? Eller rediger bash-profilen din?
- ledende enkelt tilbud før eksport i .bashrc .bash_profile?
- @ bu5hman Jeg gjør ikke ' t gjør noe i $ PATH, først forekommer jeg å installere kali linux på nytt, den andre er fortsatt tilfelle. Den andre kopierer jeg bare eksport all_proxy = " " og eksporter ALL_PROXY = " " til terminal, så når jeg åpner en ny terminal, vil bildet i situasjonen vises.
Svar
Det ser ut til at du har redigert .bashrc-filen.
Jeg kan replikere denne feilen nøyaktig hvis jeg setter
"‘export"
som den siste linjen i .bashrc
For å sjekke det, bare utfør
grep export ~/.bashrc
Hvis grep
gir en utdata som ovenfor, rediger den ut av ~ / .bashrc-filen.
Rediger: Fra ditt siste innleggsredigering kan du se at du har to linjer som starter «eksport slett dem begge f rom ~ / .bashrc.
Kommentarer
- Hva skal jeg gjøre nå?
- Her er
`
et backtick. OP-en hadde et‘
-tegn i stedet. - @St é phaneChazelas Ente om at kommandoen er syntaktisk feil. Bash-feilen virker imidlertid på grunn av linjene i ~ / .bashrc.
- Strengt tatt er kommandoen syntaktisk riktig, men bare prøver å påkalle en kommando (
‘export
) som ikke finnes. - @St é phaneChazelas Agreement. Syntaktisk korrekt hvis du påkaller en ny kommando kalt
‘export
, men feil hvis du prøver å ringeexport
. Vi pleide å kalle dem skrivefeil ' s. En skikkelig djevel for å få dem ut av papyrusen.
Svar
Forutsatt at du har kopiert inn at kommandoen som den er, den klager over at ‘export
kommandoen ikke ble funnet der ‘
er U + 2018 igjen enkelt anførselstegn ikke-ASCII-tegn (ikke forveksles med ASCII "
apostrof / enkelt sitat (U + 0027) eller ASCII `
backtick / grave accent (U + 0060) character).
Siden dette tegnet ikke er spesielt på noen måte for bash
, en kommandolinje som:
‘export foo=bar’
(der ’
er U + 2019, det rette anførselstegnet)
tolkes som å kjøre ‘export
-kommandoen med foo=bar’
som argument. Hadde du skrevet:
"export foo=bar"
i stedet, det vil si med U + 2018 og U + 2019 erstattet med ASCII-apostrof, et tegn som er spesielt for bash
som det er en siteringsoperatør, som ville blitt behandlet som å kjøre export foo=bar
-kommandoen uten argument. Det er ingen slik kommando. Det er ikke hva du vil heller.
Du vil
export foo=bar
eller
"export" "foo=bar"
Det vil si å kjøre export
-kommandoen med et foo=bar
-argument.
Her trenger du for å fjerne det U + 2018-tegnet (og muligens det tilsvarende U + 2019-tegnet hvis det er noe) uansett hvor du har satt det inn i ~/.bashrc
eller andre steder. Uansett hvor du kopierer og limer inn koden fra , disse tegnene var ikke ment å kopieres.
For å finne ut hvor den falske kommandoen har blitt innført hvis ikke i ~/.bashrc
(selv om den siste redigeringen din viser at den er i ~/.bashrc
faktisk), kan du prøve å kjøre:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
($PS4
vil bli ignorert av skjell som kjører som root
med bash-4.4 eller nyere, men det ser ut til å være ditt tilfelle, og derfor ser du ++
i stedet for filnavnet og linjenummer).
Kommentarer
- Hva skal jeg nå gjøre?
- @MichaelSmith Du må redigere
~/.bashrc
, men før det, se her: unix.stackexchange.com/questions/399626 - @MichaelSmith, det jeg sa i svaret. Du vil kanskje også at skal få noen opplæringsprogrammer eller starte med et enklere unix-lignende system før du bruker et system beregnet for profesjonelle
- @St é phane Chazelas Jeg kopierte inn koden som svar fra stackoverflow.com/questions/47304988/…
- @MichaelSmith OPEN bruker Kali, men feilen er egentlig ikke relatert til distro. Hadde skjedd med Ubuntu også ….. ikke ' t kopier lim