CMD не добавляет вывод WSL

В cmd.exe я пытаюсь добавить вывод WSL2 в какой-нибудь файл, например:

      C:\somepath>echo Some contents> somefile

C:\somepath>bash.exe --noprofile --norc -c "echo APPEND">> somefile
Processing fstab with mount -a failed.


C:\somepath>type somefile
APPEND
ntents

C:\somepath>

Как видите, выходные данные каким-то образом не добавляются в файл, а перезаписывают начало файла. Я не могу себе представить, что это задумано каким-то образом.

Это происходит только с WSL или Bash, а не с обычными командами, конечно. Но я ожидаю, что cmd будет отвечать за запись в нужное место. Что такого особенного в выводе WSL?

Ошибка «Обработка fstab с помощью mount -a». — это строка, которую я вижу при каждом вызове WSL. Я не думаю, что это связано...?

1 ответ

Границы между Windows и WSL/Linux нечетко определены, поэтому иногда могут возникать странные побочные эффекты.

В вашем случае, наверноеbashне знал этогоsomefileв нем уже были некоторые данные, поэтому он просто перезаписал начало содержимого файла.

Вы можете сформулировать команду по-другому, чтобы не пересекать слишком много границ:

      bash.exe --noprofile --norc -c "echo APPEND >> somefile"
Другие вопросы по тегам