linux - 我如何以另一个用户的 .bash_profile 而不是当前用户的身份执行命令?

标签 linux sudo init su bash

我想在启动脚本 (rc.local) 中以非根用户身份运行命令。我要执行的命令实际上是非root用户的.bash_profile中的一个别名。我试过用

su - myuser -c aliased_cmd

但这行不通。如果我只是输入

su - myuser
# wait for login...
aliased_cmd

它工作正常,但显然这在实际脚本中是不合适的。当然,我可以将我想使用的别名和函数复制到实际的 rc.local 文件中,但这看起来有点傻......也许有一个我不知道的选项或使用 sudo 的方法这个?

最佳答案

获取配置文件后,包括以下内容

shopt -s expand_aliases

关于linux - 我如何以另一个用户的 .bash_profile 而不是当前用户的身份执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9394175/

相关文章:

linux - shell脚本中的参数处理

c++ - 通过 Mmap-ed 共享内存传递可变长度的 C 字符串

ssh - 保留 sudo 环境

Bash Echo 传递到另一个脚本,未按预期工作

linux - CentOS 中 sudo 没有提示

node.js - package.json 不是使用 npm init 创建的

php - Exec 输出有时不正确地返回任何内容?

python - 如何在子类的 __init__ 方法中修改继承列表?

android - 初始化.rc : service killed and restarts

c++ - 使用 C++ 将目录大小存储到整数变量中