If your $VARIABLE
is a string containing spaces or other special characters, and single square brackets are used (which is a shortcut for the test
command), then the string may be split out into multiple words. Each of these is treated as a separate argument.
So that one variable is split out into many arguments:
VARIABLE=$(/some/command);
# returns "hello world"
if [ $VARIABLE == 0 ]; then
# fails as if you wrote:
# if [ hello world == 0 ]
fi
The same will be true for any function call that puts down a string containing spaces or other special characters.
Easy fix
Wrap the variable output in double quotes, forcing it to stay as one string (therefore one argument). For example,
VARIABLE=$(/some/command);
if [ "$VARIABLE" == 0 ]; then
# some action
fi
Simple as that. But skip to «Also beware…» below if you also can’t guarantee your variable won’t be an empty string, or a string that contains nothing but whitespace.
Or, an alternate fix is to use double square brackets (which is a shortcut for the new test
command).
This exists only in bash (and apparently korn and zsh) however, and so may not be compatible with default shells called by /bin/sh
etc.
This means on some systems, it might work from the console but not when called elsewhere, like from cron
, depending on how everything is configured.
It would look like this:
VARIABLE=$(/some/command);
if [[ $VARIABLE == 0 ]]; then
# some action
fi
If your command contains double square brackets like this and you get errors in logs but it works from the console, try swapping out the [[
for an alternative suggested here, or, ensure that whatever runs your script uses a shell that supports [[
aka new test
.
Also beware of the [: unary operator expected
error
If you’re seeing the «too many arguments» error, chances are you’re getting a string from a function with unpredictable output. If it’s also possible to get an empty string (or all whitespace string), this would be treated as zero arguments even with the above «quick fix», and would fail with [: unary operator expected
It’s the same ‘gotcha’ if you’re used to other languages — you don’t expect the contents of a variable to be effectively printed into the code like this before it is evaluated.
Here’s an example that prevents both the [: too many arguments
and the [: unary operator expected
errors: replacing the output with a default value if it is empty (in this example, 0
), with double quotes wrapped around the whole thing:
VARIABLE=$(/some/command);
if [ "${VARIABLE:-0}" == 0 ]; then
# some action
fi
(here, the action will happen if $VARIABLE is 0, or empty. Naturally, you should change the 0 (the default value) to a different default value if different behaviour is wanted)
Final note: Since [
is a shortcut for test
, all the above is also true for the error test: too many arguments
(and also test: unary operator expected
)
Со временем объем хранилища, используемый в управляемой системе Linux, также увеличивается. В результате мы пытаемся манипулировать файлами, перемещать, искать, удалять файлы и т.д. С помощью таких команд, как mv, is, cp, rm и т.д. Давайте рассмотрим проблему «слишком длинный список аргументов» и найдем способ ее решения. с легкостью.
Общий синтаксис этой ошибки примерно такой.
bash: /usr/bin/rm: Argument list too long
Содержание
- Что такое «слишком длинный список аргументов»?
- Почему возникает эта ошибка?
- РЕШЕНИЕ: / bin / rm: слишком длинный список аргументов
- Восстановите папку после ее удаления
- Используя команду find, удалите массовые файлы
- By using loop
- Manual Split
- Заключение
Что такое «слишком длинный список аргументов»?
Внутри командной строки, когда пользователь превышает максимально допустимую длину командной строки после ограничения для аргументов в вашей команде, возникает ошибка «Список аргументов слишком длинный».
Почему возникает эта ошибка?
Он достигает предела ARG_MAX, когда пользователь вводит слишком много аргументов в одной команде. Аргументы для функции exec могут быть до максимальной длины ARG_MAX. Если список аргументов слишком длинный, пользователь получил уведомление с помощью «Список аргументов слишком длинный». ошибка.
Аргумент также можно назвать аргументом командной строки. Для управления процессом командной строки команда определяется посредством ввода, предоставленного пользователем. Укажите аргументы в командной строке, а затем введите аргументы в консоли или терминале.
РЕШЕНИЕ: / bin / rm: слишком длинный список аргументов
Ошибка «Список аргументов слишком длинный» не возникает, для этого пользователь может узнать, какой длины должна быть команда. Операционная система определяет длину команды. Мы можем проверить максимальное количество аргументов в системах Linux с помощью следующей команды.
Помимо этого, существует множество решений для устранения указанной выше ошибки.
Восстановите папку после ее удаления
Предположим, есть каталог, в котором нет файлов, которые пользователи хотят сохранить. В этом случае самое быстрое и лучшее решение — удалить и воссоздать этот каталог. Но при этом пользователь должен сначала убедиться, что в удаляемом им каталоге нет такого файла, который он хочет сохранить.
Пользователь должен удалить все файлы и папки из каталога. В этом случае пользователь может сделать это с помощью команды rm, т. Е. Подстановочного знака «*.» В этом состоянии длина нашей команды становится очень большой. Чтобы решить эту проблему, мы можем применить только один аргумент для одновременного удаления всего каталога, используя следующую команду.
rm -r /path/to/directory/
Если нам все еще нужно сохранить каталог, мы можем воссоздать его с помощью следующей команды.
Используя команду find, удалите массовые файлы
Этот процесс относительно простой, быстрый и точный. Пользователи могут искать любой файл, используя команду find и удаляя его.
С помощью команды, написанной выше, мы можем найти любой файл из каталога.
Или для некоторых конкретных файлов мы используем следующую команду.
find . -name ‘.txt’ -type f -delete
By using loop
Пользователи могут использовать цикл для удаления файлов внутри папки с помощью команды rm. Этот метод очень медленный, из-за чего пользователи его делают меньше.
for i in * ; do rm ${i} ; done
Вышеупомянутая команда удалит все файлы, присутствующие в каталоге.
Manual Split
Пользователи могут многократно выполнять команду, разбивая файл на более мелкие группы, каждая с разными строками в качестве аргументов через ls, wc, mv, cp, rm и т. Д.
ls -lrt events1*.log | wc -l
31154
ls -lrt events2*.log | wc -l15941
В приведенном выше примере мы разделяем файлы из каталога, чтобы уменьшить команду и игнорировать ошибку.
Заключение
В этой статье мы узнали о многих методах решения «слишком длинный список аргументов *. Здесь мы обсудили все связанные вопросы или темы, связанные с этим. Пожалуйста, не забудьте прочитать всю информацию, которую мы дали вам в этой статье.
Содержание
- «Слишком много аргументов» при попытке изменить каталог
- Не работает скрипт: слишком много аргументов
- bin / rm: слишком длинный список аргументов
- Что такое «слишком длинный список аргументов»?
- Почему возникает эта ошибка?
- РЕШЕНИЕ: / bin / rm: слишком длинный список аргументов
- Восстановите папку после ее удаления
- Ubuntu 17.04 — bash: cd: слишком много аргументов
- 4 ответа
- Краткий ответ / Обходной путь
- Что изменилось?
- Ubuntu 17.04 — bash: cd: слишком много аргументов
- 4 ответа
- Краткий ответ / обходной путь
- Что изменилось?
«Слишком много аргументов» при попытке изменить каталог
Я относительно новичок в командной строке. Я установил терминал hyoer, и смена каталога на компакт-диске работала нормально. сегодня всякий раз, когда я пытаюсь сменить каталог с помощью cd, он дает мне bash: cd: слишком много аргументов. Я не могу перейти ниже каталога по умолчанию, который является пользователями.
какой результат type cd ?
Пожалуйста, редактировать ваш вопрос и добавьте полную команду, которую вы используете.
У ваших папок было пространство между ними?!
Попробуйте поставить имя папки в кавычки.
cd требуется ровно 1 аргумент: имя каталога, в который вы переходите. Вы привели более одного аргумента.
Есть несколько причин, по которым cd может иметь более 1 аргумента. Например, я ленивый печатаю, поэтому часто использую * , например:
Это работает, пока я не создам каталог very_important_files .
Наиболее очевидным, однако, является наличие пробела в имени каталога. Например, если у вас есть каталог с именем directory with space и вы делаете cd directory with space , bash интерпретирует это как команду cd с тремя аргументами:
Это не то, что вы хотите. Вы можете заставить bash рассматривать его как один единственный аргумент, процитировав его: cd «directory wth space»
Источник
Не работает скрипт: слишком много аргументов
День/Вечер добрый. Тут решил засесть за книжку «Сценарии командной оболочки» и на втором скрипте получил ошибку. далее привожу код скрипта и ошибки.
Еще простой (наверное) вопрос, если пошлете учить матчасть — укажите направление 🙂
Все, что в двойных скобкаъ считается одним словом, разбивки не происходит, это эквивалентно directory=$ourpath
А здесь двойных скобок нет, поэтому разбивка слов происходит и команда разбивается на if [ -x /bin /usr/bin … и что там ещё в $PATH
google://advanced bash scripting guide
Благодарю, после того, как убрал двойные кавычки в $ourpath, все заработало! А что за двойные скобки?
Тему можно считать решенной, если знаете, помогите с последним вопросом (он выше, в конце темы), и закроем ее :3
Так потому что разбор $ourpath на слова уже произошёл.
$0 — имя файла вызываемого скрипта
почитаем про это, благодарю))
Когда СКРИП не работает, тут надо к физикам, умвр, если поелозить — скрипитъ.
fuck, thank you :3
вместо всего вашего велосипеда, ну да ладно.
Благодарю) Эт не велосипед, это, простите за плохие слова, код авторов книги.
Ну, во-первых, это не полный аналог, так как сообщения «в PATH есть/нет» type и не печатает. Во-вторых, написанный скрипт всегда гибче, можно расширить ещё на какое спец. действие, в конце концов можно и починить, чтобы на исполняемые файлы по абсолютному пути не писало, что они в PATH, а потом навернуть логику, проверяющую, что этот абсолютный путь и сам есть в PATH.
Источник
bin / rm: слишком длинный список аргументов
Со временем объем хранилища, используемый в управляемой системе Linux, также увеличивается. В результате мы пытаемся манипулировать файлами, перемещать, искать, удалять файлы и т.д. С помощью таких команд, как mv, is, cp, rm и т.д. Давайте рассмотрим проблему «слишком длинный список аргументов» и найдем способ ее решения. с легкостью.
Общий синтаксис этой ошибки примерно такой.
Что такое «слишком длинный список аргументов»?
Внутри командной строки, когда пользователь превышает максимально допустимую длину командной строки после ограничения для аргументов в вашей команде, возникает ошибка «Список аргументов слишком длинный».
Почему возникает эта ошибка?
Он достигает предела ARG_MAX, когда пользователь вводит слишком много аргументов в одной команде. Аргументы для функции exec могут быть до максимальной длины ARG_MAX. Если список аргументов слишком длинный, пользователь получил уведомление с помощью «Список аргументов слишком длинный». ошибка.
Аргумент также можно назвать аргументом командной строки. Для управления процессом командной строки команда определяется посредством ввода, предоставленного пользователем. Укажите аргументы в командной строке, а затем введите аргументы в консоли или терминале.
РЕШЕНИЕ: / bin / rm: слишком длинный список аргументов
Ошибка «Список аргументов слишком длинный» не возникает, для этого пользователь может узнать, какой длины должна быть команда. Операционная система определяет длину команды. Мы можем проверить максимальное количество аргументов в системах Linux с помощью следующей команды.
Помимо этого, существует множество решений для устранения указанной выше ошибки.
Восстановите папку после ее удаления
Предположим, есть каталог, в котором нет файлов, которые пользователи хотят сохранить. В этом случае самое быстрое и лучшее решение — удалить и воссоздать этот каталог. Но при этом пользователь должен сначала убедиться, что в удаляемом им каталоге нет такого файла, который он хочет сохранить.
Пользователь должен удалить все файлы и папки из каталога. В этом случае пользователь может сделать это с помощью команды rm, т. Е. Подстановочного знака «*.» В этом состоянии длина нашей команды становится очень большой. Чтобы решить эту проблему, мы можем применить только один аргумент для одновременного удаления всего каталога, используя следующую команду.
Если нам все еще нужно сохранить каталог, мы можем воссоздать его с помощью следующей команды.
Источник
Ubuntu 17.04 — bash: cd: слишком много аргументов
Я только что обновил свой Ubuntu 16.04 до 17.04 и обнаружил небольшую проблему с cd команда.
Допустим, у меня есть две папки: album-01 & album-02
В Ubuntu 16.04, если я делаю cd album* он перейдет в первую найденную папку album-01
Но в новой Ubuntu 17.04, если я сделаю cd album* это приведет меня -bash: cd: too many arguments
Как сделать cd в Ubuntu 17.04 вроде cd в Ubuntu 16.04?
4 ответа
Я не смог проверить это на реальной системе 17.04 (только проверил, что она работает на 16.04), но вы должны иметь возможность переопределить cd Встроенная команда Bash с вашей собственной пользовательской функцией, которая отбрасывает любые дополнительные аргументы, кроме первого:
Обновление: как предложено в комментарии @ muru, эта версия ниже может работать лучше и поддерживать вызов cd без аргументов, хотя:
После того, как вы ввели эту строку выше в своем терминале, проверьте, cd теперь ведет себя так, как вы хотите. Если это так, вы можете сделать это определение функции постоянным, добавив эту строку в конец вашего
/.bashrc файл. В противном случае он исчезнет, как только вы закончите текущий сеанс оболочки.
Обратите внимание, что если по какой-либо причине вам необходимо временно использовать реальный cd Встроенная команда Bash вместо этой пользовательской функции, вы можете просто вызвать ее command cd вместо простого cd ,
Краткий ответ / Обходной путь
Чтобы ответить на ваш вопрос в этом конкретном случае, это работает
Но это, вероятно, не та функциональность, которую вы действительно хотите.
Что изменилось?
Похоже, что config-top.h в Bash-4.4 был обновлен, чтобы добавить следующую опцию
А также builtins/cd.def относится к вашей ошибке здесь:
Что я могу сделать в долгосрочной перспективе?
Вы можете собрать свой собственный bash без нового CD_COMPLAINS, но это было бы утомительно. Вы можете переопределить cd функциональность, как предлагается здесь, или вы могли бы использовать псевдоним функции, такие как
Доказать это
Bash 4.4 Beta, где он все еще работает
Bash 4.4 Stable Release там, где он не работает
Я никогда не сталкивался с этой проблемой, так как я всегда использую Tab Completion.
Так что в вашем случае, вместо того, чтобы иметь неточное предположение о том, какой каталог я хочу, я бы набрал cd al Вкладка, которая, если есть только одно совпадение, завершает его, и если есть 2 или более, завершается до того места, где заканчивается сопоставление, и Tab Tab перечисляет варианты
Вот пример из моей системы:
cd Un табуляция
с последующим Tab Tab производит
Это похоже на ошибку в Bash: per man builtins старое поведение правильное.
Вы можете сообщить об ошибке на bug-bash список рассылки; подробнее здесь.
Собственно, об ошибке сообщалось (давно). Если вам нужен исправленный Bash сейчас, сейчас, сейчас, вот как это сделать правильно (протестировано 17.10, должно работать и на других).
Сначала создайте каталог для работы, например:
Получите исходный пакет и зависимости сборки:
редактировать config-top.h чтобы изменить это (должно быть строка 32)
редактировать debian/changelog и добавьте такую запись вверху (вы также можете использовать команду dch -i ):
Наиболее важные пункты должны добавить +foo на номер текущей версии ( foo может быть любой строкой строчных букв; и будьте осторожны, если вы используете dch -i , он будет увеличивать последний номер, поэтому вам нужно вернуть его к текущему) и использовать правильное название выпуска ( artful Вот). Наконец, беги dpkg-source —commit ,
Затем вы можете запустить debuild команда, и если все идет хорошо (ошибки о debsign можно игнорировать) у вас должны быть некоторые .deb s в родительском каталоге, который вы можете установить как обычно (нет необходимости устанавливать все из них, только те, которые у вас есть сейчас; используйте dpkg -l | grep bash выяснить).
Обратите внимание, что номер версии нового пакета установлен так, что вы будете автоматически получать любые будущие обновления bash ; Если обновление не устраняет проблему, вам необходимо повторить вышеуказанный процесс.
(Этот ответ был впервые опубликован на этот дубликат вопроса.)
Источник
Ubuntu 17.04 — bash: cd: слишком много аргументов
Я только что обновил свой Ubuntu 16.04 до 17.04 и обнаружил небольшую проблему с командой cd .
Допустим, у меня есть две папки: album-01 & amp; album-02
В Ubuntu 16.04, если я сделаю cd album* , он перейдет к первой найденной папке album-01
Но в новой Ubuntu 17.04, если я сделаю cd album* , это приведет me -bash: cd: too many arguments
Как сделать cd в Ubuntu 17.04 подобно cd в Ubuntu 16.04?
4 ответа
Я не мог пока не протестируйте это на реальной системе 17.04 (проверено только, что она работает 16.04), но вы должны иметь возможность переопределить встроенную команду cd Bash своей собственной пользовательской функцией, которая отбрасывает любые дополнительные аргументы, кроме первый:
Обновление: Как предлагается в комментарии @ muru , эта версия ниже может работать лучше и поддерживать вызов cd без аргументов:
После того, как вы вы ввели эту строку выше в свой терминал, проверьте, работает ли cd теперь так, как вы хотите. В этом случае вы можете сделать это определение функции постоянным, добавив эту строку в конец вашего файла
/ .bashrc . В противном случае он исчезнет, как только вы завершите текущий сеанс оболочки.
Обратите внимание, что если по какой-либо причине вам временно потребуется использовать реальную встроенную команду cd Bash вместо этой настраиваемой функции, вы можете просто вызовите его с помощью команды cd вместо обычного cd .
Краткий ответ / обходной путь
Чтобы ответить на ваш вопрос в этом конкретном случае, это работает
Но, вероятно, это не та функциональность, которую вы действительно хотите.
Что изменилось?
Похоже, что config-top.h в Bash-4.4 был обновлен, чтобы добавить следующий параметр
И builtins / cd.def ссылается к вашей ошибке здесь:
Что я могу сделать в долгосрочной перспективе?:
Вы можете скомпилировать свой собственный bash без новых CD_COMPLAINS , но это будет утомительно. Вы можете переопределить функциональность cd , как предлагается здесь, или использовать псевдоним функции, например
Proving it
Bash 4.4 Beta, где она все еще работает
Bash 4.4 Stable Release, где она не работает
Я никогда не сталкивался с этой проблемой, так как всегда использую Завершение вкладки.
Поэтому в вашем случае, вместо того, чтобы иметь неточное предположение относительно того, какой каталог мне нужен, я бы набрал cd al Вкладка , которая, если есть только одно совпадение, завершает его, а если есть 2 или более, завершает до того места, где совпадение заканчивается, а Вкладка Вкладка перечисляет варианты.
Вот пример из моей системы:
, за которым следует Tab Tab производит
Это похоже на ошибку в Bash: для man builtins старое поведение является правильным.
Вы можете сообщить об ошибке в ошибке- список рассылки bash ; подробнее здесь .
Собственно, об ошибке сообщалось (давно). Если вам нужен фиксированный Bash сейчас, сейчас, сейчас , вот как это сделать правильно (протестировано 17.10, должно работать и на других).
Сначала создайте каталог для работы, например :
Получите пакет с исходным кодом и зависимости сборки:
Отредактируйте config-top.h , чтобы изменить это (должна быть строка 32)
Изменить debian / changelog и добавьте такую запись вверху (вы также можете использовать команду dch -i ):
Наиболее важные моменты — добавить + foo на текущий номер версии ( foo может быть любой строкой строчных букв; будьте осторожны, если вы используете dch -i , последнее число будет увеличиваться, поэтому вам нужно вернуть его к текущему) и использовать правильное название выпуска (здесь artful ). Наконец, запустите dpkg-source —commit .
Затем вы можете запустить команду debuild , и если все пойдет хорошо (ошибки о debsign могут быть игнорируется) у вас должно быть несколько .deb в родительском каталоге, которые вы можете установить как обычно (нет необходимости устанавливать их все, только те, которые у вас есть сейчас; используйте dpkg — l | grep bash , чтобы узнать).
Обратите внимание, что номер версии нового пакета установлен так, что вы автоматически получите любое будущее обновление для bash ; если обновление не устраняет проблему, повторите описанный выше процесс.
(Этот ответ был впервые опубликован на этот повторяющийся вопрос .)
Источник
На чтение 4 мин Просмотров 1.1к. Опубликовано 27.10.2021
Со временем объем хранилища, используемый в управляемой системе Linux, также увеличивается. В результате мы пытаемся манипулировать файлами, перемещать, искать, удалять файлы и т.д. С помощью таких команд, как mv, is, cp, rm и т.д. Давайте рассмотрим проблему «слишком длинный список аргументов» и найдем способ ее решения. с легкостью.
Общий синтаксис этой ошибки примерно такой.
bash: /usr/bin/rm: Argument list too long
Содержание
- Что такое «слишком длинный список аргументов»?
- Почему возникает эта ошибка?
- РЕШЕНИЕ: / bin / rm: слишком длинный список аргументов
- Восстановите папку после ее удаления
- Используя команду find, удалите массовые файлы
- By using loop
- Manual Split
- Заключение
Что такое «слишком длинный список аргументов»?
Внутри командной строки, когда пользователь превышает максимально допустимую длину командной строки после ограничения для аргументов в вашей команде, возникает ошибка «Список аргументов слишком длинный».
Почему возникает эта ошибка?
Он достигает предела ARG_MAX, когда пользователь вводит слишком много аргументов в одной команде. Аргументы для функции exec могут быть до максимальной длины ARG_MAX. Если список аргументов слишком длинный, пользователь получил уведомление с помощью «Список аргументов слишком длинный». ошибка.
Аргумент также можно назвать аргументом командной строки. Для управления процессом командной строки команда определяется посредством ввода, предоставленного пользователем. Укажите аргументы в командной строке, а затем введите аргументы в консоли или терминале.
РЕШЕНИЕ: / bin / rm: слишком длинный список аргументов
Ошибка «Список аргументов слишком длинный» не возникает, для этого пользователь может узнать, какой длины должна быть команда. Операционная система определяет длину команды. Мы можем проверить максимальное количество аргументов в системах Linux с помощью следующей команды.
Помимо этого, существует множество решений для устранения указанной выше ошибки.
Восстановите папку после ее удаления
Предположим, есть каталог, в котором нет файлов, которые пользователи хотят сохранить. В этом случае самое быстрое и лучшее решение — удалить и воссоздать этот каталог. Но при этом пользователь должен сначала убедиться, что в удаляемом им каталоге нет такого файла, который он хочет сохранить.
Пользователь должен удалить все файлы и папки из каталога. В этом случае пользователь может сделать это с помощью команды rm, т. Е. Подстановочного знака «*.» В этом состоянии длина нашей команды становится очень большой. Чтобы решить эту проблему, мы можем применить только один аргумент для одновременного удаления всего каталога, используя следующую команду.
rm -r /path/to/directory/
Если нам все еще нужно сохранить каталог, мы можем воссоздать его с помощью следующей команды.
Используя команду find, удалите массовые файлы
Этот процесс относительно простой, быстрый и точный. Пользователи могут искать любой файл, используя команду find и удаляя его.
С помощью команды, написанной выше, мы можем найти любой файл из каталога.
Или для некоторых конкретных файлов мы используем следующую команду.
find . -name ‘.txt’ -type f -delete
By using loop
Пользователи могут использовать цикл для удаления файлов внутри папки с помощью команды rm. Этот метод очень медленный, из-за чего пользователи его делают меньше.
for i in * ; do rm ${i} ; done
Вышеупомянутая команда удалит все файлы, присутствующие в каталоге.
Manual Split
Пользователи могут многократно выполнять команду, разбивая файл на более мелкие группы, каждая с разными строками в качестве аргументов через ls, wc, mv, cp, rm и т. Д.
ls -lrt events1*.log | wc -l
31154
ls -lrt events2*.log | wc -l15941
В приведенном выше примере мы разделяем файлы из каталога, чтобы уменьшить команду и игнорировать ошибку.
Заключение
В этой статье мы узнали о многих методах решения «слишком длинный список аргументов *. Здесь мы обсудили все связанные вопросы или темы, связанные с этим. Пожалуйста, не забудьте прочитать всю информацию, которую мы дали вам в этой статье.
bash : cd : too many arguments
Если вы новичок в Linux и пытаетесь открыть файл через командную строку печатая путь до файла в котором есть пробел используя команду cd.
И вместо того чтобы команда выполнилась без ошибок появляется вот такая надпись bash: cd: слишком много аргументов(bash : cd : too many arguments).
Всякий раз когда в пути или в имени файла есть пробел вылезает эта ошибка. Что делать в этом случае.
Либо поместите путь до файла в кавычки либо не используйте пробелы чтобы путь до файла выглядел как одна строка. Проблема встречается не только в Linux. Если вы пользовались командной строкой Windows то там также присутствует эта ошибка.
Разберем, из чего состоит команда, и как исправить.
git clone -b
— клонировать бранчу с названием …$(curl -L https://grpc.io/release)
— название бранчи
Получается, что по указанному адресу должно отдаваться название бранчи. Но его нет, и там 404 ошибка. Почему? Потому что это сломалось. Напишите автору через issue, чтобы поправил
Мейнтейнер через $(curl -L https://grpc.io/release)
сделал получение последнего релиза. Но эта часть сломалась. Посмотрим, какие ветки есть в проекте. Там их много, выберите ту, что вам нравится. Последняя — v1.39.x
.
Что вам нужно? Поправьте -b ...
, получится git clone -b v1.39.x https://github.com/grpc/grpc
.
А чтобы следующий раз понимать, что делает такая сложная команда, введите в консоли set -x
, а затем команды. Активируется дебаг режим, который покажет, что вообще происходит. В данном случае выполнялась белиберда:
git clone -b '<!doctype' 'html><html' lang=en ... ... ...