blob: ba76f250680c9b3afde64276ddc9e9f87b7cf51b [file] [log] [blame]
#!/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
# if user is non-root
if [ "$EUID" -ne 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