Если вы не создали каталог с помощью системы Linux, есть вероятность, что bash завершится, и поэтому bash не увидит его как файл.
Каталог в Linux — это просто файл. который содержит метаданные, в том числе расположение файлов, которые находятся «в нем». Это сильно отличается от того, как это делает Windows.
Если модуль (при условии, что это модуль узла) получен из npm, есть большая вероятность, что он был создан файловой системой NTFS.
Я не уверен, как это повлияет на то, как это видит завершение bash, но если оно не отображается, это, вероятно, причина.
Как я могу исследовать это больше.
Чтобы убедиться, что каталог все еще там, вы можете просто CD
внутри него. В любом случае, это даст вам больше информации. Кроме того, запустить лс -а ~
или же ла ~
если он у вас есть.
Вы также должны создать новую папку с тем же соглашением об именах, чтобы увидеть, есть ли у нее такая же проблема.
Кроме того, есть инструмент, который вы можете получить от apt под названием дерево
. Это похоже на ls, но рекурсивно. Он выведет всю структуру каталогов текущего каталога.
Чтобы убедиться, что Linux правильно «принял» каталог, вы можете проверить разрешения.
ла-а-н
Обратите внимание на самый первый символ в списке виновника каталога. Это должно быть «д». Если это «-», то это вообще не папка. Теперь это файл для ОС, что, вероятно, означает, что все внутри стирается.
Это также покажет информацию о владельце и группе. Если у него есть все эти атрибуты, то он обязательно должен появиться.
В этом случае повторно запустите описанные выше процессы и сделайте скриншот результата каждого из них. Если вы добавите их к своему вопросу, я гарантирую, что кто-то узнает, что происходит.
РЕДАКТИРОВАТЬ:
Хотя я рад, что вы нашли решение проблемы, я все еще не могу не задаться вопросом, почему это происходит на вашей машине, а не на моей. Как я упоминал ранее, я слегка протестировал свою собственную Ubuntu.
(Ubuntu = версия 20.04.2 -- bash = выпуск версии 5.0.17)
сделав @тестовое задание
каталог и проверка результатов выполнения различных команд и приложений в одном и том же родительском каталоге. Я сделал это до того, как ты обнаружил, что можешь избежать этого. Проблема в том, что все они работали, как и ожидалось для меня.
Если это случилось с вами, и вы используете довольно актуальную версию Ubuntu, то, несомненно, у других будет такая же проблема.
На данный момент я вижу две основные причины расхождения. Либо мы каким-то образом столкнулись с каким-то странным граничным условием, которое еще никто не обнаружил (настолько маловероятно, что я чувствую себя немного смущенным, просто набрав его... XD), либо другая программа в вашей системе меняет поведение оболочки.
Как я намекнул в комментариях, это возможно с помощью манипуляций со средой оболочки. Есть несколько переменных среды (в моей среде 20.04 их 11), которые начинаются с шаблона БАШ
и указать непосредственно на атрибуты оболочки bash. Их очень легко определить, так как все они находятся в самом начале списка, отображаемого при запуске программы. установлен
команда. Если вы пропустите через меньше
, как в:
набор | меньше
они будут первым, что вы увидите на дисплее терминала. Хотя большинство из них предназначены просто как константы для предоставления доступа к информации в ваших сценариях и т. д. и отображения содержащейся информации (например, BASH_VERSION), другие могут управлять информацией, на которую они ссылаются. Одна такая переменная, которая выделяется для меня, это БАШОПТЫ
. Если поведение на самом деле является результатом значения переменной, это будет довольно хорошим кандидатом на роль виновника.
Тем не менее, одной из основных целей среды в целом является управление поведением оболочки.В результате это может быть любая переменная в вашей среде... или что-то совершенно другое.
Моя цель в продолжении устранения неполадок состоит в том, чтобы, если кто-то еще придет сюда в поисках решения этой проблемы, он не только знал, как обойти проблему, но и то, что ее вызывает.
В настоящее время в сети очень мало информации по этому вопросу (я вообще ничего не нашел), и это само по себе говорит о многом. Это никогда не бывает. Отсутствие ответов достаточно редко, но и отсутствие вопросов почти неслыханно. Обычно кто-то где-то сталкивался с такой же проблемой и писал об этом.
ПРИМЕЧАНИЕ:
К 'это возможно», я имею в виду манипулирование поведением bash в общем смысле. Я понятия не имею, можно ли изменить, какие символы bash считает «особыми». Тем не менее, я не вижу никаких других приемлемых выводов. Мне пришлось немного потянуться, чтобы прийти к этому. Если у кого-то еще есть какие-либо идеи, я весь слушаю.