#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and

SUDO_BINARY="/usr/bin/sudo"

if [[ $# -eq 0 ]] ; then
  echo 'usage: ambari-sudo.sh [sudo_arg1, sudo_arg2 ...] command [arg1, arg2 ...]'
  exit 1
fi

$SUDO_BINARY -S -l 2>/dev/null 1>/dev/null

if [ $? == 0 ] ; then
  $SUDO_BINARY "$@"
else
  ENV=()
  SUDO_ARGS=()

  for i ; do
    if [[ "$i" == *"="* ]] ; then
      ENV+=("$i")
      shift
    elif [[ "$i" == "-"* ]] ; then
      SUDO_ARGS+=("$i")
      shift
    else
      break
    fi
  done
  
  #echo "sudo arguments: ${SUDO_ARGS[@]}"
  #echo "env: ${ENV[@]}"
  #echo "args: $@"

  if [ "$ENV" ] ; then
    export "${ENV[@]}"
  fi

  "$@"
fi