gpt4 book ai didi

linux - Bash:从脚本中以用户身份获取文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:53:47 25 4
gpt4 key购买 nike

我正在创建一个旨在以 super 用户身份运行的脚本,该脚本读取文件并代表所有用户运行多个脚本。重要的一点是:

sudo -u $user -H source /home/$user/list_of_commands

但是,无论我是否用引号括起命令,都会失败:

sudo: source /home/user/list_of_commands: command not found

我什至尝试过使用 . bash 内置:

sudo: . /home/user/list_of_commands: command not found

当然,在 sudo 环境之外运行 source 是可行的。我认为可能存在 PATH 问题,我试图通过提供 source 的完整路径来绕过它。但是,我找不到可执行文件:which source 返回 which: no source in (/usr/local/sbin:usr/local/bin:usr/bin)。所以我卡住了。

如何以用户身份将脚本源文件制作成文件?

最佳答案

source 是内置命令而不是命令,与 bash -c 一起使用:

sudo -u $user -H bash -c "source /home/$user/list_of_commands"

关于linux - Bash:从脚本中以用户身份获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28512940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com