Ubuntu 14.04 LTSでcocos2dxをセットアップしようとしていますが、環境変数(.bashrc
)を設定した後、次のエラーが表示されます。
bash: export: dev/cocos2d-x-3.2/tools/cocos2d-console/bin': not a valid identifier
bash: export:/home/john/Android': not a valid identifier
bash: export: dev/Android-ndk-r10b': not a valid identifier
bash: export:dev/adt-bundle-linux-x86_64-20140702/sdk': not a valid identifier
そして、私はそれを修正するために何をすべきかわかりません。
しかし、環境変数を設定した後
あなたはそれを正しくしなかったようです。
取得するエラーは、パス(/home/john/Android
など)が変数に割り当てられたvaluesではなく、変数のnamesとして使用されていることを意味します。
NAME=value
です。export NAME
です。export NAME=value
です。3番目のことをしようとしているが、間違った構文を使用していると思われます。表示されているようなエラーを引き起こす可能性のある5つの一般的な間違いは次のとおりです。
=
。の代わりにスペースを使用するexport NAME value
は正しくありません。 value
は、エクスポートする後続の変数の名前として解釈されます。
(これは、export NAME1 NAME2
isが複数の変数をエクスポートするための正しい構文であるために発生します。)
=
。の周りにスペースを置く多くのプログラミング言語では、ほとんどの場合、演算子にスペースを埋め込むことが有効であり、スタイル的にも好まれています。ただし、シェルスクリプト(またはシェルコマンドを発行している他の状況)で変数に値を割り当てる場合、これは許可されません。 NAME = value
(export
コマンドなど)が機能しません。 NAME=value
を使用する必要があります。
(export NAME = value
は、NAME
、=
、およびvalue
という名前の変数をエクスポートしようとします。幸いなことに、=
という変数をエクスポートしようとすると、構文エラー。対照的に、export NAME= value
は機能しているように見えますが、value
にNAME
を割り当てません。代わりに、空のゼロ長の文字列をNAME
に割り当てます。それをエクスポートし、変数value
を個別にエクスポートします。どちらもよくある間違いです。)
変数の値の一部をスペースで区切ります。環境変数canはスペースを含みますが、実際には環境変数のフィールド区切り文字として使用されることはほとんどありません。単一の変数に意図的に複数のパスが含まれる場合、通常、:
を使用してそれらを区切ります。
変数に割り当てるときにスペースをクォートしません。環境変数の値にスペースが含まれていると想定される場合があります。たとえば、実際にスペースを含むディレクトリの名前かもしれません。その場合、スペースを引用符で囲む必要があります。
これを行う1つの方法は、\
を前に付けることです。 cdコマンドに渡される括弧を保護するにはどうすればよいですか? および ファイルを削除できません を参照してください。具体的には、環境変数への割り当てに関するものです。
たとえば、環境変数SILLYPATH
を値/home/ek/silly name/bin
でエクスポートするいくつかの方法を次に示します。
export SILLYPATH=/home/ek/silly\ name/bin
export SILLYPATH='/home/ek/silly name/bin'
export SILLYPATH="/home/ek/silly name/bin"
多くの場合、シェルで使用するか、広く使用されている環境変数に割り当てる必要があるフォルダーにスペースが含まれている場合、名前を変更するとメリットが得られる場合があります。 (しかし、それは非現実的または望ましくない場合があります。)
何も実行する必要がなかった場合の変数の割り当ておよび/またはエクスポートこれは一種のメタミスです。特定の技術的な問題は上記のいずれかであることがよくありますが、解決策は、問題を修正するのではなく、問題のある行またはその一部を取り除くことです。もちろん、.bashrc
から無差別にコードを削除しないでください。ただし、export
が誤って追加されたか、意図しないコードが誤って追加された可能性があります。たとえば、次のように書くつもりだったとします:
echo 'export PATH=~/some.bin:"$PATH"' >>~/.bashrc; . ~/.bashrc
それは.bashrc
に追加し、それを再ソースします。しかし、代わりに次のように書いたとします:
echo 'export PATH=~/some.bin:"$PATH" . ~/.bashrc' >>~/.bashrc # WRONG!
すると、export
コマンドはPATH
の拡張値をエクスポートするだけでなく、.
および/home/your-username/.bashrc
という名前の変数もエクスポートしようとしますが、これは望みのものではありません。これらには変数名で禁止されている文字が含まれているため、新しいインタラクティブbashシェルを起動するたびにエラーが発生します。
この問題を回避するには、.bashrc
を使用して出力を末尾にリダイレクトするのではなく、エディターでnano ~/.bashrc
(例:gedit ~/.bashrc
、>>
)を編集することをお勧めします。
これは、.bashrc
ファイルのバグを見つけて修正するのに十分な情報であると思われます。さらに支援が必要な場合は、分析のためにそのファイルの全内容を投稿する必要があります。 (偶然、あなたの問題がたまたま十分に頻繁に発生し、十分に透過的なエラーメッセージを伴って、このような一般的な答えを可能にしたことは偶然です。)
実行していることを確認してください。
export ENV_VARIABLE
のではなく:
export $ENV_VARIABLE
そうでない場合は、変数自体ではなく変数の値をエクスポートしようとしているため、このエラーが発生します。
スペースの削除およびドル記号たとえば、これは、SSHを介してWebサーバーにDjango設定モジュールを設定できるのと同じように機能します。
export Django_SETTINGS_MODULE=myapp.settings
(Webから)逆コンマを使用して何かをコピーし、環境またはbashrcファイルを更新すると、この問題が頻繁に発生することを確認しました。
開始する適切な場所は、貼り付けられたコンテンツに逆コンマを手動で入力することです。