views:

41

answers:

2
#!/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

  • some problems with tar command
  • access issues with $tar

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

+2  A: 

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.

eumiro
Amoeba
Sorry, `$?`. Thank you for the hint.
eumiro
+2  A: 

This

tar xvf "$tar" || exit 1

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

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