私はLubuntu 16.04を使用しています
今朝、私は新しいターミナルを開くたびにターミナルでこのメッセージを受け取り始めましたbash: [: /home/timi95/workspace/WEB_TECHNOLOGIES/Angular: binary operator expected
、何が問題なのかわからないので、tset、reset、sudoの更新などを試しました。
指定されたパスに「Angular」と呼ばれるファイルまたはフォルダーも存在しません。
何が起こっているのか、またはこれを修正する方法についての手がかりはありますか?
アップデート以外にインストールを覚えている最後のことは、electro-forgeでした。クロスプラットフォームのデスクトップアプリツールを検討していました。これは何か関係があると思いますか?
あなたのエラーメッセージには
/home/timi95/workspace/WEB_TECHNOLOGIES/Angular
しかしコメントであなたは行を述べました
/home/timi95/workspace/WEB_TECHNOLOGIES/Angular projects/test-forge-project/node_modules/tabtab/.completions/electron-forge.bash
Angular
とprojects
の間のスペースに注意してください。これが問題の中核です。
[
コマンドでは(そして、はい、これはtest
としても知られているコマンドであり、単なるブラケットではありません)、-f
演算子はその後に単一の引数を期待します。スペースにより、-f
の後に2つの引数があるかのように線が表示されます。したがって、パスを引用するか、バックスラッシュでスペースをエスケープすることにより、問題を修正する必要があります
/home/timi95/workspace/WEB_TECHNOLOGIES/Angular\ projects/test-forge-project/node_modules/tabtab/.completions/electron-forge.bash
コマンドラインのスペースは単語の区切り文字として機能し、エスケープまたは引用符で囲まれていない場合、シェルは行を意図したよりも多くの単語として扱います。特に、これは変数を引用する理由の1つです-二重引用符なしで空白、改行、またはタブでのWord分割(シェルがWord分割のために参照するIFS
変数のデフォルト値であるため) ) 適用されます。