Команда 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"