如何使我的环境变量可用于sudo命令?

时间:2016-08-17 11:22:10

标签: linux bash shell

目前,我有一个加载环境变量的脚本。我是这样采购的:

#!/bin/bash

set -x

# sourcing my env variables
. /etc/profile.d/company_env.sh > /dev/null 2>&1

clear_known_hosts(){
  local known_hosts="${NAGIOS_HOME}/.ssh/known_hosts"
  # clear
  su - nagios -c "echo '' > ${known_hosts}"

}

但是,删除采购部分,因为我不想在可能创建的每个脚本中添加它,我的sudo命令无法找到我的环境变量,例如{{1}例如,哪个是空的。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

sudo为此选择-E或长选项--preserve-env

Usage: sudo -E command args ...

当然,您需要从父shell导出变量,以使其对sudo可见。