Size: a a a

2020 December 06

D

Denis GDevv in pro.bash
Привет, народ! Подскажите пожалуйста, если в баш скрипте команды располагаются построчно без каких-либо специальных завершающих знаков, - они последовательно будут выполняться вне зависимости от исхода предыдущей? (ошибка или нет)
Это гарантируемое поведение?
источник

Лс

Лень с Самосознанием... in pro.bash
Denis GDevv
Привет, народ! Подскажите пожалуйста, если в баш скрипте команды располагаются построчно без каких-либо специальных завершающих знаков, - они последовательно будут выполняться вне зависимости от исхода предыдущей? (ошибка или нет)
Это гарантируемое поведение?
Да
источник

∀lǝxǝʎ in pro.bash
Denis GDevv
Привет, народ! Подскажите пожалуйста, если в баш скрипте команды располагаются построчно без каких-либо специальных завершающих знаков, - они последовательно будут выполняться вне зависимости от исхода предыдущей? (ошибка или нет)
Это гарантируемое поведение?
если set -e не установлен или другие кастомные TRAP'ы
но всё это про прерывание и выход из скрипта либо прерывание и продолжение из той же строчки, т.е. перемешки точно не будет, если конечно вы скрипт in-pace не измените во время выполнения
источник

аᶘ

асоциальный пикотран... in pro.bash
Denis GDevv
Привет, народ! Подскажите пожалуйста, если в баш скрипте команды располагаются построчно без каких-либо специальных завершающих знаков, - они последовательно будут выполняться вне зависимости от исхода предыдущей? (ошибка или нет)
Это гарантируемое поведение?
Да, это поведение по умолчанию, его можно исправить с помощью set -e, чтобы скрипт падал при неудачном выполнении строки. Иногда это удобно.
источник
2020 December 07

DY

Denys Yaroshenko in pro.bash
В скрипте стоит set -eo pipefail. Есть фрагмент который может завершиться ошибкой но не смотря на это необходимо выполнить некоторую строку, например почистить приготовления для запуска этой команды, как это сделать лучше ?
источник

∀lǝxǝʎ in pro.bash
Denys Yaroshenko
В скрипте стоит set -eo pipefail. Есть фрагмент который может завершиться ошибкой но не смотря на это необходимо выполнить некоторую строку, например почистить приготовления для запуска этой команды, как это сделать лучше ?
1. не надеяться на set -e
2. TRAP ERR или TRAP EXIT INT, в общем по вкусу и по задачам, но с теми же проблемами что и set -e
3. с pipefail быть аккуратным при командах вроде grep -q
источник

VS

Vladimir Suisei in pro.bash
Есть /bin/echo которое выводит в stdout.
А есть какая-то программа которая выводит в stderr?
Вопрос не про баш, но может знает кто. Билтины/редиректы не предлагать
источник

VS

Vladimir Suisei in pro.bash
Ладно, я придумал - /bin/bash -c "echo >&2 abc"
источник

аᶘ

асоциальный пикотран... in pro.bash
Vladimir Suisei
Ладно, я придумал - /bin/bash -c "echo >&2 abc"
но это как раз билтин с редиректом :D
источник

аᶘ

асоциальный пикотран... in pro.bash
я понимаю, отдельный процесс баша с built-in'ом и редиректом
источник

VS

Vladimir Suisei in pro.bash
асоциальный пикотранзистор ᶘಠᴥಠᶅ
но это как раз билтин с редиректом :D
Мне просто отдельная программа нужна, и я внезапно вспомнил что у баша есть флаг -c
источник

NK

ID:1478886084 in pro.bash
источник

AS

Aleksey Shirokikh in pro.bash
у меня уже от этой аватарки случается правая кнопка и удалить
источник

AS

Aleksey Shirokikh in pro.bash
поймал себя на том же когда случайно оказался в твиттере у маска
источник

VS

Vladimir Suisei in pro.bash
/bin/bash -c "echo >&2 to_err ; echo > to_out"

Почему у меня выводит только to_err ?
источник

VS

Vladimir Suisei in pro.bash
Как вывести оба сообщения?
источник

аᶘ

асоциальный пикотран... in pro.bash
Vladimir Suisei
/bin/bash -c "echo >&2 to_err ; echo > to_out"

Почему у меня выводит только to_err ?
потому что echo > to_out — это создать файл to_out и записать туда \n
источник

аᶘ

асоциальный пикотран... in pro.bash
Vladimir Suisei
/bin/bash -c "echo >&2 to_err ; echo > to_out"

Почему у меня выводит только to_err ?
ты либо echo to_out сделай, либо echo >&1 to_out, они равнозначны.
источник

VS

Vladimir Suisei in pro.bash
Окей спасибо
источник

VS

Vladimir Suisei in pro.bash
А теперь такой вопрос
При запуске bc пишутся сообщения
Если запустить bc > out , на экране ничего, выйти из bc и cat out то там ничего
источник