[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: How to tell Bash multiple values are success?
From: |
Eli Schwartz |
Subject: |
Re: How to tell Bash multiple values are success? |
Date: |
Wed, 19 Jun 2019 11:14:37 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 |
On 6/19/19 11:01 AM, Jeffrey Walton wrote:
> Hi Everyone,
>
> I have a systemd service that automatically applies updates. Looking
> at the service history, the service reports failure when it installs
> updates due to this:
>
> if dnf -y update &>/dev/null
> then
> echo "Upgraded system"
> else
> echo "Failed to upgrade system"
> exit 1
> fi
>
> The problems seems to be 0, 100 and 200 are success. When updates are
> installed either 100 or 200 is returned. Confer,
> https://dnf.readthedocs.io/en/latest/command_ref.html .
>
> I looked through Bash Variables, but I did not see a way to signal the
> information to Bash. Confer,
> https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html
> .
>
> How do I tell Bash 0, 100 and 200 are success? (Or, how to tell Bash 1
> is the only failure?)
Neither 100 nor 200 are successes, and the page you linked explains
exactly why.
The former is only relevant to the subcommand "dnf check-update" and
indicates that your system is *not* fully upgraded and you should fix that.
The latter indicates that you successfully updated the system, but
potentially bad things occurred in the process. You can choose to
*ignore* selected errors, however, using Greg's suggestion.
There is no option to make bash dramatically redefine its entire
internal understanding of how basic unix return codes work.
--
Eli Schwartz
signature.asc
Description: OpenPGP digital signature