新しい端末を開くたびに間違いがあります。

エラー: “bash: export:command not found “

export all_proxy =” “をコピーしてALL_PROXY =” “をターミナルにエクスポートするだけで、新しいターミナルを開くと、状況の画像が表示されます。

これは画像です:

ここに画像の説明を入力してください

コマンドを入力しました:

grep export ~/.bashrc 

出力:

ここに画像の説明を入力してください

コマンドを入力します:

env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l 

出力:

ここに画像の説明を入力

コメント

  • エラーを発生させたコマンドとエラー自体を投稿できますか。コマンドの前に文字があるようです。
  • @ bu5hmanコピーするのはexportall_proxy = " "そしてALL_PROXY = " "をターミナルにエクスポートし、新しいターミナルを開くと、状況の写真が表示されます。
  • 他のbashコマンドは機能しますか?今回または前回のターミナルセッションで$ PATHに何かしましたか?または、bashプロファイルを編集しますか?
  • .bashrc .bash_profileにエクスポートする前に一重引用符をリードしますか?
  • @ bu5hman '何もしません$ PATHで、最初にkali linuxを再インストールしますが、2番目はまだ当てはまります。2番目はexport all_proxy = " "のみをコピーします。 ALL_PROXY = " "をターミナルにエクスポートし、新しいターミナルを開くと、状況の写真が表示されます。

回答

.bashrcファイルを編集したようです。

できます

"‘export" 

を.bashrcの最後の行として配置した場合にこのエラーを正確に再現します

確認するには実行するだけです

grep export ~/.bashrc 

grepで上記のような出力が得られた場合は、〜/ .bashrcファイルから編集してください。

編集:前回の投稿編集から、「export delete them bothf」で始まる2行があることがわかります。 rom〜 / .bashrc。

コメント

  • どうすればよいですか?
  • ここに`がありますアクサングラーブ。 OPには代わりに文字がありました。
  • @St é phaneChazelasコマンドが構文的に間違っていることに同意しました。ただし、bashエラーは〜/ .bashrcの行が原因のようです。
  • 厳密に言えば、コマンドは構文的に正しいのですが、たまたまコマンドを呼び出そうとします(‘export)見つかりません。
  • @St é phaneChazelas同意しました。 ‘exportという新しいコマンドを呼び出す場合は構文的に正しいですが、exportを呼び出そうとしている場合は正しくありません。以前はタイプミス'と呼んでいました。パピルスからそれらを取り出すための本当の悪魔。

回答

あなたがそれをコピーして貼り付けたと仮定しますコマンドはそのままですが、‘exportコマンドが見つからないことに不満があります。はU + 2018 左です。一重引用符非ASCII文字(ASCII "アポストロフィ/一重引用符(U + 0027)またはASCII バッククォート/アクサングラーブ(U + 0060)文字)。

この文字は、コマンドラインであるbashにとって特別なものではないためです。例:

‘export foo=bar’ 

はU + 2019、右引用符)

foo=bar’を引数として‘exportコマンドを実行していると解釈されます。書いたことがありますか:

"export foo=bar" 

代わりに、U +2018とU + 2019がASCIIアポストロフィに置き換えられました。これは

は引用演算子であり、引数なしでexport foo=barコマンドを実行するものとして扱われます。そのようなコマンドはありません。そうではありません。

必要なもの

export foo=bar 

または

"export" "foo=bar" 

つまり、exportコマンドをfoo=bar引数を指定して実行します。

ここでは、次のことが必要になります。そのU + 2018文字(および場合によっては対応するU + 2019文字)を~/.bashrcまたは他の場所に挿入した場所から削除します。そのコードをコピーして貼り付けた場所、これらの文字はコピーされることを意図していませんでした。

~/.bashrcにない場合に、その偽のコマンドが導入された場所を見つけるため(ただし、最新の編集では、~/.bashrc確かに)、実行してみることができます:

env SHELLOPTS=xtrace \ BASH_XTRACEFD=7 \ PS4="[${BASH_SOURCE:-$BASH_EXECUTION_STRING}:$LINENO]> " \ 7> >(grep ‘) bash -l 

$PS4は実行中のシェルによって無視されますただし、bash-4.4以降ではrootとして表示されますが、これはあなたのケースのようです。そのため、ファイル名の代わりに++が表示されます。

コメント

  • どうすればよいですか?
  • @MichaelSmith

ですが、その前に、ここをご覧ください: unix.stackexchange.com/questions/399626

  • @MichaelSmith、私が答えで言ったこと。また、でチュートリアルを入手したり、専門家向けのシステムを使用する前に、より簡単なUNIXライクなシステムから始めたりすることもできます
  • @St é phane Chazelas stackoverflow.com/questions/47304988/ …
  • @MichaelSmith OPはKaliを使用していますが、エラーは実際にはディストリビューションに関連していません。 Ubuntuでも起こったでしょう….. don 'コピーアンドペースト