Я использую Lubuntu 16.04
Этим утром я начал получать это сообщение в терминале каждый раз, когда я открываю новый терминал bash: [: /home/timi95/workspace/WEB_TECHNOLOGIES/Angular: binary operator expected
, Я не уверен что случилось, и я попробовал tset, сбросил, sudo обновления и т.д.
Там даже не существует файл или папка под названием 'Угловой' в указанном пути.
Какие-либо подсказки о том, что могло бы происходить или как зафиксировать это?
Последняя вещь, которую я не забываю устанавливать кроме обновлений, был электронный штамповочный пресс. Я рассматривал межплатформенные инструменты настольного приложения. Вы думаете, что это имеет какое-либо отношение к этому?
В Вашем сообщении об ошибке Вы имеете
/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
. Таким образом проблема должна быть устранена или через заключение в кавычки пути или путем выхода из пространства с обратной косой чертой как в
/home/timi95/workspace/WEB_TECHNOLOGIES/Angular\ projects/test-forge-project/node_modules/tabtab/.completions/electron-forge.bash
Пробелы в командной строке служат разделителями слов, и если их не оставят или заключат в кавычки, то оболочка будет рассматривать строку как большее количество слов, чем wht, который Вы предназначили. Среди прочего это - также одна из причин, почему необходимо заключить переменные в кавычки - без разделения слова двойных кавычек на пробеле, новой строке или вкладке (потому что таково значение по умолчанию IFS
переменная, с которой оболочка консультируется для разделения слова) будет применен.