Вопросы с тегом «bash»

Для вопросов о скриптах, написанных для командной оболочки Bash. Для сценариев оболочки с ошибками / синтаксическими ошибками, пожалуйста, проверьте их с помощью программы shellcheck (или на сервере веб-проверки оболочки по адресу https://shellcheck.net) перед размещением здесь. Вопросы об интерактивном использовании Bash, скорее всего, будут касаться темы Super User, а не переполнения стека.


7
Ошибка RE: недопустимая последовательность байтов в Mac OS X
Я пытаюсь заменить строку в Makefile на Mac OS X для кросс-компиляции на iOS. Строка имеет двойные кавычки. Команда: sed -i "" 's|"iphoneos-cross","llvm-gcc:-O3|"iphoneos-cross","clang:-Os|g' Configure И ошибка: sed: RE error: illegal byte sequence Я пытался избежать двойных кавычек, запятых, тире и двоеточий без радости. Например: sed -i "" 's|\"iphoneos-cross\"\,\"llvm-gcc\:\-O3|\"iphoneos-cross\"\,\"clang\:\-Os|g' Configure У …
184 regex  macos  bash  sed 


14
Выполнить bash-скрипт из URL
Скажем, у меня есть файл по адресу «http://mywebsite.com/myscript.txt», который содержит скрипт: #!/bin/bash echo "Hello, world!" read -p "What is your name? " name echo "Hello, ${name}!" И я хотел бы запустить этот скрипт без предварительного сохранения его в файл. Как мне это сделать? Теперь я видел синтаксис: bash < <(curl …
184 linux  bash  curl 



13
Любой способ выйти из скрипта bash, но не выходить из терминала
Когда я использую exitкоманду в сценарии оболочки, сценарий завершает работу терминала (приглашение). Есть ли способ завершить сценарий, а затем остаться в терминале? run.shПредполагается, что мой сценарий будет выполнен напрямую из другого сценария. РЕДАКТИРОВАТЬ: Чтобы быть более конкретным, есть два сценария run2.shкак ... . run.sh echo "place A" ... и run.shкак …
183 linux  bash 

6
Проверка строки ненулевой длины в Bash: [-n «$ var»] или [«$ var»]
Я видел тесты Bash-скриптов для строки с ненулевой длиной двумя разными способами. Большинство сценариев используют -nопцию: #!/bin/bash # With the -n option if [ -n "$var" ]; then # Do something when var is non-zero length fi Но опция -n на самом деле не нужна: # Without the -n option …

14
Есть ли команда bash, которая считает файлы?
Есть ли команда bash, которая подсчитывает количество файлов, которые соответствуют шаблону? Например, я хочу получить количество всех файлов в каталоге, которые соответствуют этому шаблону: log*
183 bash 

2
Сохраните файл в определенную папку с помощью команды curl
В сценарии оболочки я хочу загрузить файл с некоторого URL-адреса и сохранить его в определенной папке. Какой конкретный флаг CLI я должен использовать для загрузки файлов в определенную папку с помощью curlкоманды, или как еще получить такой результат?
182 bash  shell  curl  directory 

7
Удалить все строки, начинающиеся с # из файла
Все строки с комментариями в файле начинаются с #. Как я могу удалить все строки (и только те строки), которые начинаются с #? Другие строки, содержащие #, но не в начале строки, следует игнорировать.
182 bash  sed 


18
Как сохранить стандартную ошибку в переменной
Допустим, у меня есть скрипт, подобный следующему: useless.sh echo "This Is Error" 1>&2 echo "This Is Output" И у меня есть другой сценарий оболочки: alsoUseless.sh ./useless.sh | sed 's/Output/Useless/' Я хочу записать «This Is Error» или любой другой stderr из useless.sh в переменную. Давайте назовем это ОШИБКА. Обратите внимание, что …

3
Какая команда означает «ничего не делать» в условном выражении в Bash?
Иногда при создании условий мне нужен код, который ничего не делает, например, здесь я хочу, чтобы Bash ничего не делал, если значение $aбольше 10, выведите «1», если $aменьше 5, в противном случае выведите «2»: if [ "$a" -ge 10 ] then elif [ "$a" -le 5 ] then echo "1" …
181 bash  conditional  noop 

16
Как использовать по умолчанию другой каталог вместо домашнего каталога
На этот вопрос есть ответы на Переполнение стека на русском : Git Bash изменить домашний каталог Я разрабатываю на машине Windows. Единственное место, которое мне нужно для командной строки Linux - это Git Bash. Проблема заключается в следующем: когда я открываю его, я нахожусь в домашнем каталоге. Я должен изменить …
180 bash  shell  git-bash 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.