Вопросы с тегом «error-handling»

Используйте этот тег для вопросов о том, как обрабатывать ошибки, генерируемые в сценариях оболочки.

2
Почему шаблон «команда || правда »полезно?
В настоящее время я изучаю пакеты Debian и читаю несколько примеров кода. Например, в каждой строке postinstскрипта есть шаблон. some command || true another command || true Так что, если какая-то команда завершится неудачно, строка вернет true, но я не вижу, как это повлияет на вывод программы.

4
Как выйти из сценария оболочки, если одна его часть не работает?
Как я могу написать скрипт оболочки, который завершится, если одна из его частей выйдет из строя? Например, если следующий фрагмент кода завершится неудачей, скрипт должен завершиться. n=0 until [ $n -ge 5 ] do gksu *command* && break n=$[$n+1] sleep 3

3
chmod + тихий режим + как заставить код выхода 0 несмотря на ошибку
Возможно ли выполнить chmod и игнорировать ошибку из команды Пример (примечание file.txt не существует, чтобы показать пример) Когда я печатаю chmod 777 file.txt Я получаю ошибку на выходе chmod: cannot access file.txt : no such file or directory Поэтому я добавляю флаг -f к команде следующим образом: (file.txt не существует, …

7
Как закрыть X Server, чтобы избежать ошибок при обновлении драйвера nVidia?
Я попытался обновить драйвер nVidia, но у меня возникла ошибка при запуске установки драйвера. Смотрите ошибку: ОШИБКА: вы, кажется, используете X-сервер; пожалуйста, выйдите из X раньше установка. Для получения более подробной информации, пожалуйста, смотрите раздел УСТАНОВКА ДРАЙВЕР NVIDIA в README доступен в драйвере Linux Страница загрузки на www.nvidia.com. Примечание: я …

6
Trap, ERR и отображение строки ошибки
Я пытаюсь создать несколько отчетов об ошибках, используя Trap для вызова функции по всем ошибкам: Trap "_func" ERR Можно ли узнать, с какой линии был отправлен сигнал ERR? Оболочка Баш. Если я это сделаю, я смогу прочитать и сообщить, какая команда использовалась, и записать / выполнить некоторые действия. Или, может …

5
Предотвратить выход grep в случае несоответствия
Этот скрипт не повторяет "после": #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit Также было бы, если бы я удалил -eопцию в строке shebang, но я хотел бы оставить ее, чтобы мой скрипт останавливался, если произошла ошибка. …

2
Где я могу найти список кодов ошибок make?
Я пытаюсь скомпилировать программу, написанную на Фортране, используя make(у меня есть Makefile, и, находясь в каталоге, содержащем Makefile , я набираю команду $ make target, где «target» - это спецификация целевой системы, которая присутствует в моем Makefile . экспериментируя с различными ревизиями моей целевой спецификации, я часто получаю различные сообщения …

2
Как проверить, выполнена ли такая команда, как curl, без ошибок?
Я использую curl для загрузки файла на сервер через сообщение HTTP. curl -X POST -d@myfile.txt server-URL Когда я вручную выполняю эту команду в командной строке, я получаю ответ от сервера, как "Upload successful". Однако как, если я хочу выполнить эту команду curl через скрипт, как я могу узнать, был ли …

6
Как я могу подавить вывод, только если команда выполнена успешно?
Я хотел бы упростить вывод сценария, подавив вывод вторичных команд, которые обычно успешны. Тем не менее, использование -qих скрывает вывод, когда они иногда терпят неудачу, поэтому у меня нет никакого способа понять ошибку. Кроме того, эти команды регистрируют свои выходные данные stderr. Есть ли способ подавить вывод команды только в …

2
rsync: пропускать файлы, для которых у меня нет разрешений
Я использую, rsync -rlptDчтобы скопировать каталог от другого пользователя. Есть несколько файлов (я не знаю их заранее), которые я не имею права копировать. Есть ли способ, чтобы rsync игнорировал их? Проблема в том, что если rsync вернет ненулевое значение, мой скрипт bash -x завершится.

7
Как я могу проверить, может ли файл быть создан или обрезан / перезаписан в bash?
Пользователь вызывает мой сценарий с путем к файлу, который будет либо создан, либо перезаписан в какой-то момент сценария, например foo.sh file.txtили foo.sh dir/file.txt. Поведение «создать или перезаписать» во многом похоже на требования для размещения файла справа от >оператора перенаправления вывода или для передачи его в качестве аргумента tee(фактически, передача его …

4
Как заставить bash прервать выполнение скрипта при синтаксической ошибке?
Чтобы быть в безопасности, я бы хотел, чтобы bash прервал выполнение скрипта, если он обнаружит синтаксическую ошибку. К моему удивлению, я не могу этого достичь. ( set -eнедостаточно). Пример: #!/bin/bash # Do exit on any error: set -e readonly a=(1 2) # A syntax error is here: if (( "${a[#]}" …

1
Каковы стандартные коды ошибок в Linux?
Когда я пишу код в bash, например, который копирует файл, когда файл не существует, в терминале я вижу ошибку, похожую на «файл не найден», если пользователю сценария не предоставлено разрешение, показанная ошибка up похож на "отказано в разрешении". По сути, независимо от языка программирования, когда вы пишете код, например, для …

4
Как правильно перехватить код выхода / обработать ошибки при использовании подстановки процесса?
У меня есть скрипт, который анализирует имена файлов в массив, используя следующий метод, взятый из Q & A на SO : unset ARGS ARGID="1" while IFS= read -r -d $'\0' FILE; do ARGS[ARGID++]="$FILE" done < <(find "$@" -type f -name '*.txt' -print0) Это прекрасно работает и прекрасно обрабатывает все типы …

2
Как вызвать ошибку с помощью команды Trap
Я использую Ubuntu 12.04.2. Я пытаюсь использовать команду «trap», чтобы зафиксировать ненормальное или ошибку в моем сценарии оболочки, но я также пытаюсь вручную вызвать выход «Error». Я попытался выйти 1, но он не вызовет сигнал «Ошибка». #!/bin/bash func() { exit 1 } trap "echo hi" INT TERM ERR func Не …

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