Запитання з тегом «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 + silent mode + як змусити код виходу 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
Пастка, ERR та повторення рядка помилки
Я намагаюся створити деякі повідомлення про помилки за допомогою Trap для виклику функції щодо всіх помилок: Trap "_func" ERR Чи можливо отримати, з якої лінії був відправлений сигнал ERR? Шкаралупа баш. Якщо я це роблю, я можу прочитати та повідомити, яка команда була використана, і ввійти / виконати деякі дії. …

5
Не допускайте виходу греп у разі вилучення
Цей сценарій не лунає "після": #!/bin/bash -e echo "before" echo "anything" | grep e # it would if I searched for 'y' instead echo "after" exit Так само, якби я видалив -eопцію в рядку shebang, але я хотів би зберегти її, щоб мій сценарій зупинився, якщо є помилка. Я не …

2
Де я можу знайти список кодів помилок "зробити"?
Я намагаюся скласти програму, написану у Fortran, використовуючи 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(насправді передача його як аргументу 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 (( …

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. Я намагаюся використовувати команду "пастка" для зйомки аномальних або помилок у моєму скрипті оболонки, але я також намагаюся вручну запустити вихід "Помилка". Я спробував вихід 1, але він не спричинить сигнал "Помилка". #!/bin/bash func() { exit 1 } trap "echo hi" INT TERM ERR func Не …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.