Egy új terminál minden egyes megnyitásakor hiba van,
error: “bash: export: parancs nem található “
Csak az export all_proxy =” “és az ALL_PROXY =” “exportálom a terminálra, majd amikor új terminált nyitok meg, a helyzet képén megjelenik.
Ez a kép:
Beírom a következő parancsot:
grep export ~/.bashrc
ouput:
Adom meg a parancsot:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
output:
Megjegyzések
- Feladhatja-e a hibát adó parancsot és magát a hibát is. Úgy tűnik, hogy van egy karakter a parancs előtt.
- @ bu5hman csak az all_proxy = " " és exportálja az ALL_PROXY = " " terminálba, majd amikor új terminált nyitok, a helyzet képén megjelenik .
- Működnek más bash parancsok? Csináltál valamit a $ PATH ellen ebben vagy az előző terminál munkamenetben? Vagy szerkeszti a bash profilját?
- vezető egyetlen idézet az exportálás előtt a .bashrc .bash_profile fájlban?
- @ bu5hman Nem teszek ' semmit a $ PATH-ban először előfordul, hogy újratelepítem a kali linuxot, a második továbbra is így van. A második csak az all_proxy = " " exportálást másolja és exportálja az ALL_PROXY = " " terminálba, majd amikor új terminált nyitok, a helyzet képén megjelenik.
Válasz
Úgy tűnik, hogy szerkesztette .bashrc fájlját.
Tudom pontosan replikálja ezt a hibát, ha a
"‘export"
-et a .bashrc fájl utolsó soraként állítom be
Az ellenőrzéshez csak futtassa
grep export ~/.bashrc
Ha a grep
a fentihez hasonló kimenetet ad, akkor szerkessze ki a ~ / .bashrc fájljából.
Szerkesztés: A legutóbbi bejegyzés szerkesztéséből láthatja, hogy 2 sor van az “exportálás” kezdettel, törölje mindkettőt f rom ~ / .bashrc.
Megjegyzések
- Most mit tegyek?
- Itt van
`
hátulról. Az OP-nak volt egy‘
karaktere. - @St é phaneChazelas Egyetértett abban, hogy a parancs szintaktikailag helytelen. A bash hiba azonban a ~ / .bashrc sorai miatt tűnik fel.
- Szigorúan véve a parancs szintaktikailag helytálló, de csak megpróbálkozik egy parancs meghívásával (
‘export
), amely nem található. - @St é phaneChazelas Egyetértett. Szintaktikusan helyes, ha új parancsot hív meg:
‘export
, de helytelen, ha a következőt hívja:export
. Régebben typo ' snek neveztük őket. Igazi ördög, hogy kiszabadítsa őket a papiruszból.
Válasz
Feltételezve, hogy ezt másolással illesztette be amint van, panaszkodik, hogy a ‘export
parancs nem található, ahol az a ‘
az U + 2018 bal oldala egyetlen idézőjel nem ASCII karakter (nem tévesztendő össze az ASCII "
aposztróf / egyszeri idézet (U + 0027) vagy az ASCII `
backtick / grave akcentus (U + 0060) karakter).
Mivel ez a karakter semmilyen szempontból nem különleges bash
, egy parancssor például:
‘export foo=bar’
(ahol ’
U + 2019, a jobb oldali idézőjel)
Úgy értelmezhető, hogy a ‘export
parancsot futtatja argumentumként foo=bar’
-vel. Ha írtál volna:
"export foo=bar"
ehelyett, vagyis azoknál az U + 2018 és U + 2019-ek helyett, amelyeket az ASCII aposztróf helyettesít, egy karakter, amely a bash
mivel “idéző operátor”, ezt úgy kezelték volna, mintha a export foo=bar
parancsot futtatnák argumentum nélkül. Nincs ilyen parancs. Ez nem az. amit te is szeretnél.
Akarod
export foo=bar
vagy
"export" "foo=bar"
Ez a export
parancs futtatása egy foo=bar
argumentummal.
Itt lesz szükséged az U + 2018 karakter (és adott esetben a megfelelő U + 2019 karakter) eltávolítása, bárhová illesztette a ~/.bashrc
be vagy bárhová. Bárhová másolta be a kódot , ezeket a karaktereket nem akarták lemásolni.
Annak megkeresése, hogy hova lett bevezetve az álparancs, ha nem a ~/.bashrc
fájlban (bár a legutóbbi szerkesztés azt mutatja, hogy a ~/.bashrc
valóban), megpróbálhatod futtatni:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
(a $PS4
-t a futó héjak figyelmen kívül hagyják root
néven a bash-4.4 vagy újabb verzióval, ez azonban a te eseted, ezért látod a ++
fájlt a fájlnév helyett és sorszám).
Megjegyzések
- Most mit tegyek?
- @MichaelSmith Szerkesztenie kell a
~/.bashrc
, de előtte nézze meg itt: unix.stackexchange.com/questions/399626 - @MichaelSmith, amit mondtam a válaszban. Előfordulhat, hogy a oktatóanyagokat szeretne kapni, vagy egy egyszerűbb unix-szerű rendszerrel kezdene, mielőtt szakembereknek szánt rendszert használna
- @St é phane Chazelas Másoltam beillesztettem a kódot a következő válaszba: stackoverflow.com/questions/47304988/…
- @MichaelSmith Az OP Kalit használja, de a hiba nem igazán kapcsolódik a disztribúcióhoz. Az Ubuntuval is megtörtént volna ….. ne ' ne másoljon be