---
title: "sudo 切换到root用户保留环境变量的方法"
id: "3305"
type: "post"
slug: "sudo-%e5%88%87%e6%8d%a2%e5%88%b0root%e7%94%a8%e6%88%b7%e4%bf%9d%e7%95%99%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e7%9a%84%e6%96%b9%e6%b3%95"
published_at: "2022-04-17T14:45:27+00:00"
modified_at: "2023-03-12T13:08:45+00:00"
url: "https://seq.ink/all/3305.html"
markdown_url: "https://seq.ink/all/3305.html.md"
excerpt: "方法一： sudo PATH=$PATH bash 可以用alias简化比如： alias sudoi=\"sudo PATH=$PATH bash\"写入到.bashrc 错误示范：假设在master用户配置了go的环境变 ..."
taxonomy_category:
  - "ALL"
---

### 方法一：

`sudo PATH=$PATH bash`  
 可以用alias简化比如：  
 `alias sudoi="sudo PATH=$PATH bash"`写入到.bashrc  
 错误示范：假设在master用户配置了go的环境变量`sudo PATH=$PATH go` 这样直接执行是不行的，需要先进去bash  
 [https://hk-mkaliez-oss.oss-cn-hongkong.aliyuncs.com/uploads/2022/04/%E6%88%AA%E5%9B%BE_%E9%80%89%E6%8B%A9%E5%8C%BA%E5%9F%9F_20230312095256.png](https://hk-mkaliez-oss.oss-cn-hongkong.aliyuncs.com/uploads/2022/04/%E6%88%AA%E5%9B%BE_%E9%80%89%E6%8B%A9%E5%8C%BA%E5%9F%9F_20230312095256.png)

### 方法二：

在`/etc/sudoers`中添加以下内容：  
 Defaults !env_reset

PS:sudo -E 也可以保留环境变量，出于安全考虑PATH变量除外
