Moeb
Moeb

Reputation: 10861

How to check if a shell command executed properly or not?

#!/bin/sh
tar=$1
if [ -f $tar ]
then
    tar xvf $tar
else
    exit 1
fi

... <more code>

I need a conformation that the tar actually happened successfully, otherwise abort the execution of the script.

The tar file extract might not go through because

Do Linux utilities have some return values? How should I use them here?

Upvotes: 1

Views: 10452

Answers (2)

hluk
hluk

Reputation: 6016

This

tar xvf "$tar" || exit 1

or this (if you want to check if file exists yourself)

[ -f "$tar" ] && tar xvf "$tar" || exit 1

Upvotes: 3

eumiro
eumiro

Reputation: 212885

Check the $? variable after executing a command. If everything is OK, it should be 0, positive otherwise.

tar xvf $tar
[ $? -ne 0 ] && exit 1

More information here.

Upvotes: 5

Related Questions