Při každém otevření nového terminálu došlo k chybě,
chyba: „bash: export: příkaz nenalezen „
Kopíruji pouze export all_proxy =“ „a export ALL_PROXY =“ „do terminálu, pak když otevřu nový terminál, objeví se obrázek situace.
Toto je obrázek:
Zadávám příkaz:
grep export ~/.bashrc
výstup:
Zadávám příkaz:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
výstup:
Komentáře
- Můžete odeslat příkaz, který dal chybu, i samotnou chybu. Vypadá to, že před příkazem máte znak.
- @ bu5hman Kopíruji pouze export all_proxy = " " a export ALL_PROXY = " " do terminálu, pak když otevřu nový terminál, na obrázku se objeví situace .
- Fungují i jiné příkazy bash? Udělali jste něco pro $ PATH v této nebo předchozí relaci terminálu? Nebo upravte svůj bash profil?
- úvodní jednoduchá nabídka před exportem v .bashrc .bash_profile?
- @ bu5hman ' nedělám nic v $ PATH, nejprve se vyskytne přeinstalovat kali linux, druhý je stále případ. Druhý kopíruji pouze export all_proxy = " " a exportovat ALL_PROXY = " " do terminálu, pak když otevřu nový terminál, objeví se obrázek situace.
Odpověď
Vypadá to, že jste upravili svůj soubor .bashrc.
Mohu replikujte tuto chybu přesně, když vložím
"‘export"
jako poslední řádek do mého .bashrc
Chcete-li to zkontrolovat, stačí provést
grep export ~/.bashrc
Pokud grep
poskytuje výstup jako výše, upravte jej ze souboru ~ / .bashrc.
Upravit: Z vaší poslední úpravy příspěvku můžete vidět, že máte 2 řádky začínající „exportem smazat oba f rom ~ / .bashrc.
Komentáře
- Co mám dělat?
- Zde je
`
zpětná vazba. OP měl místo toho‘
znak. - @St é phaneChazelas souhlasil, že příkaz je syntakticky chybný. Chyba bash se však zdá být způsobena řádky v ~ / .bashrc.
- Přísně řečeno, příkaz je syntakticky správný, ale jen se pokusí vyvolat příkaz (
‘export
), které nelze najít. - @St é phaneChazelas souhlasil. Syntakticky správné, pokud vyvoláváte nový příkaz s názvem
‘export
, ale nesprávný, pokud se pokoušíte volatexport
. Říkali jsme jim typo ' s. Skutečný ďábel, který je dostane z papyru.
Odpověď
Za předpokladu, že jste kopírovali, že příkaz tak, jak je, stěžuje si, že nebyl nalezen příkaz ‘export
, kde ‘
je U + 2018 left jednoduchá uvozovka znak jiný než ASCII (nezaměňovat s ASCII "
apostrophe / single-quote (U + 0027) nebo ASCII `
znak backtick / hrob s přízvukem (U + 0060)).
Protože tento znak není nijak zvláštním způsobem na bash
, příkazový řádek jako:
‘export foo=bar’
(kde ’
je U + 2019, správná jednoduchá uvozovka)
Je interpretováno jako spuštění příkazu ‘export
s argumentem foo=bar’
. Napsali jste:
"export foo=bar"
místo toho, to je u těch U + 2018 a U + 2019 nahrazených ASCII apostrofem, což je znak, který je speciální pro bash
protože cituje operátor, který by byl považován za spuštění příkazu export foo=bar
bez argumentu. Žádný takový příkaz neexistuje. buď to, co chcete.
Chcete
export foo=bar
nebo
"export" "foo=bar"
To znamená spustit příkaz export
s argumentem foo=bar
.
Zde budete potřebovat odebrat tento znak U + 2018 (a případně odpovídající znak U + 2019, pokud existuje), kamkoli jste jej vložili do ~/.bashrc
nebo kdekoli jinde. Kamkoli tento kód zkopírujete z , tyto postavy nebyly určeny ke kopírování.
Chcete-li zjistit, kde byl tento falešný příkaz zaveden, pokud ne v ~/.bashrc
(ačkoli vaše poslední úprava ukazuje, že je ve vašem ~/.bashrc
opravdu), můžete zkusit spustit:
env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l
($PS4
by spuštěné skořápky byly ignorovány. jako root
s bash-4.4 nebo novějším, což se zdá být váš případ, proto místo názvu souboru uvidíte ++
a číslo řádku).
Komentáře
- Co mám tedy dělat?
- @MichaelSmith Musíte upravit
~/.bashrc
, ale ještě předtím se podívejte sem: unix.stackexchange.com/questions/399626 - @MichaelSmith, co jsem řekl v odpovědi. Můžete také chtít získat nějaké výukové programy nebo začít s jednodušším unixovým systémem, než začnete používat systém určený pro profesionály
- @St é phane Chazelas Zkopíroval jsem kód do odpovědi z stackoverflow.com/questions/47304988/…
- @MichaelSmith OP používá Kali, ale chyba ve skutečnosti nesouvisí s distribucí. Stalo by se to také s Ubuntu ….. ' t copy paste