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

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



2
Как использовать регулярные выражения в сценариях bash?
Я хочу проверить, есть ли у переменной действительный год, используя регулярное выражение. Чтение руководства по bash я понимаю, что могу использовать оператор = ~ Глядя на пример ниже, я ожидал увидеть «не в порядке», но я вижу «нормально». Что я делаю неправильно? i="test" if [ $i=~"200[78]" ] then echo "OK" …

2
Почему моя подсказка bash не обновляется?
Я новичок в git и пытаюсь добавить текущую ветку git в уже существующее приглашение, которое определяется следующим образом: RESET="\[\017\]" NORMAL="\[\033[0m\]" RED="\[\033[31;1m\]" YELLOW="\[\033[33;1m\]" WHITE="\[\033[37;1m\]" SMILEY="${WHITE}:)${NORMAL}" FROWNY="${RED}:(${NORMAL}" SELECT="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi" export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w $(__git_ps1) >${NORMAL} " Я попробовал ( .bashrcснова выполнив …
83 git  bash  ps1 

5
Есть ли способ написать функцию bash, которая прерывает все выполнение, независимо от того, как она вызывается?
Я использовал оператор exit 1 в своих функциях bash для завершения всего скрипта, и он работал нормально: function func() { echo "Goodbye" exit 1 } echo "Function call will abort" func echo "This will never be printed" Но потом я понял, что он не работает, когда его называют: res=$(func) Я …
83 bash  function  exit  subshell 

8
Запуск команд bash в фоновом режиме без печати заданий и идентификаторов процессов
Запустить процесс в фоновом режиме в bash довольно просто. $ echo "Hello I'm a background task" & [1] 2076 Hello I'm a background task [1]+ Done echo "Hello I'm a background task" Однако вывод подробный. В первой строке печатается идентификатор задания и идентификатор процесса фоновой задачи, затем у нас есть …

5
Как определить, удалось ли запустить докер программно?
Я пишу очень простой сценарий bash, чтобы быстро проверить, что мой контейнер по-прежнему строится и запускается правильно и что приложение внутри отвечает на запросы. Иногда происходит docker runсбой, например, потому что порт, к которому я пытаюсь привязать контейнер, уже выделен. Но когда это происходит docker run, код выхода по-прежнему равен …
83 bash  docker 

15
Как выполнить цикл for для каждого символа в строке в Bash?
У меня есть такая переменная: words="这是一条狗。" Я хочу , чтобы сделать цикл по каждому из персонажей, один в то время, например , первый character="这", а затем character="是", character="一"и т.д. Единственный известный мне способ - вывести каждый символ в отдельную строку в файле, а затем использовать while read line, но это …
83 bash  for-loop 

2
Запуск Openssl из сценария bash в Windows - тема не начинается с '/'
В моем сценарии есть: openssl req \ -x509 \ -new \ -nodes \ -key certs/ca/my-root-ca.key.pem \ -days 3652 \ -out certs/ca/my-root-ca.crt.pem \ -subj "/C=GB/ST=someplace/L=Provo/O=Achme/CN=${FQDN}" Запуск этого в Windows в Git Bash 3.1 дает: Subject does not start with '/'. Пытался экранировать subj следующим образом: -subj \ "/ C = UK …
83 windows  string  bash  openssl 

5
Как встроить сценарий bash прямо в псевдоним git
Могу ли я встроить следующий код оболочки bash: for name in $(git diff --name-only $1); do git difftool $1 $name & done непосредственно при создании псевдонима git: git config --global alias.diffall ***my-bash-code-here*** Это следует из моего предыдущего вопроса / ответа по SO, где я поместил код в файл .sh, а …
82 git  bash  shell  alias 

1
Что такое sudo bang bang? [закрыто]
Закрыто. Этот вопрос не по теме . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 7 лет назад . Уточните этот вопрос Какова цель sudo bang bang ( sudo !!) и когда ее можно использовать?
82 linux  bash  terminal  sh 

11
Расширить возможный относительный путь в bash
В качестве аргументов моего скрипта есть несколько путей к файлам. Они, конечно, могут быть относительными (или содержать ~). Но для функций, которые я написал, мне нужны абсолютные пути, но не разрешенные символические ссылки. Есть ли для этого какая-нибудь функция?

7
Пропускайте только STDERR через фильтр
Есть ли способ в bash пропустить STDERR через фильтр перед его объединением с STDOUT? То есть я хочу STDOUT ────────────────┐ ├─────> terminal/file/whatever STDERR ── [ filter ] ──┘ скорее, чем STDOUT ────┐ ├────[ filter ]───> terminal/file/whatever STDERR ────┘
82 linux  bash  redirect 

5
подсчет дубликатов в отсортированной последовательности с помощью инструментов командной строки
У меня есть команда (cmd1), которая просматривает файл журнала, чтобы отфильтровать набор чисел. Числа расположены в случайном порядке, поэтому я использую sort -gr, чтобы получить список чисел, отсортированный в обратном порядке. В этом отсортированном списке могут быть дубликаты. Мне нужно найти счетчик для каждого уникального числа в этом списке. Например, …

12
Лучший способ создать демон сценария оболочки?
Мне интересно, есть ли лучший способ создать демона, который ждет чего-то, используя только sh, чем: #! /bin/sh trap processUserSig SIGUSR1 processUserSig() { echo "doing stuff" } while true; do sleep 1000 done В частности, мне интересно, есть ли способ избавиться от петли и по-прежнему слушать сигналы.
82 bash  shell  daemon 

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