RET=""
case $1 in
- dev) RET=`route -n | awk '/^0.0.0.0/{print $8}'` ;;
- addr) RET=`route -n | awk '/^0.0.0.0/{print $2}'` ;;
- *) echo "cp_get_ifdefault: Argument required (dev or addr)" >&2 ;;
+ dev)
+ RET=`route -n | awk 'BEGIN {m = 2^32}
+ /^0\.0\.0\.0[ \t]/ {if ($5 < m) {r = $8; m = $5}}
+ END {print r}'`
+ ;;
+ addr)
+ RET=`route -n | awk 'BEGIN {m = 2^32}
+ /^0\.0\.0\.0[ \t]/ {if ($5 < m) {r = $2; m = $5}}
+ END {print r}'`
+ ;;
+ *)
+ echo "cp_get_ifdefault: Argument required (dev or addr)" >&2
+ ;;
esac
[ -z "$RET" -a "$1" ] && echo "cp_get_ifdefault: No default route" >&2
-p)
shift
opt_p=1
+ ;;
-d)
shift
opt_d=1
-n)
shift
ext=
+ ;;
esac
done
if [ "$opt_d" ]; then
if [ ! -e "$dir" -a "$opt_p" ]; then
mkdir "$dir"
+ fi
if [ $? -ne 0 ]; then
echo "cp_backup_conffile: Error creating backup directory $dir" 1>&2
return 3