Команда gsutil ls не работает из-за амперсанда в пути

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

gsutil ls -r gs://testing_purpose/U&T

Возвращает ошибку, как показано ниже. CommandException: один или несколько URL не соответствуют ни одному объекту.

"Т" не распознается как внутренняя или внешняя команда, работающая программа или пакетный файл.

1 ответ

Ваша командная оболочка интерпретирует & в качестве управляющего символа, поэтому ваше утверждение выглядит следующим образом:

yourshell$ gsutil ls -r gs://testing_purpose/U
yourshell$ T

Чтобы исправить это, вы должны заключить аргумент в контрольный символ, например так:

gsutil ls -r "gs://testing_purpose/U&T"

Что сработало для меня в Windows и Google Cloud SDK Shell, так это заключить путь в кавычки и экранировать символ & с помощью ^. Например:

gsutil ls "gs://a ^& b"
Другие вопросы по тегам