我可以使用 sudo 运行从 .bashrc 加载的命令吗?

我可以使用 sudo 运行从 .bashrc 加载的命令吗?

我的.bashrc文件中定义了一些自定义函数和别名。有时我需要以root身份执行whem。然后我做类似的事情:

$ sudo custom_cmd 80                                                                                                                                   
sudo: custom_cmd: command not found

如何以 root 权限执行此类命令?

编辑:当然,为了实现这一目标,我可以简单地将我的.bashrcroot身份作为源,但我想知道是否有一些快速(就所需的打字而言)的方法来做到这一点。如果可能的话,我还想避免任何定制(例如.bashrc自动采购)。

答案1

通过 shell 运行它:

sudo bash -c 'source /home/reachus/.bashrc; custom_cmd 80'

.bashrc或者,编写一个为您提供资源的脚本,例如/usr/local/bin/my

#! /bin/bash
source /home/reachus/.bashrc
"$@"

然后做:

sudo my custom_cmd 80

答案2

刚刚遇到了同样的问题。

你也可以

  cd /etc/profile.d
  sudo gedit ./newfile.sh (you write commands here, can be nano also)
  sudo chmod +x newfile.sh

每当您登录帐户时,它都会自动运行。要测试它,无需重新启动,只需在 bash 中运行“su yourusername”并登录即可,它应该可以工作。

相关内容