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