【问题标题】:"su - user" not working the same when scripted“su - user”在编写脚本时工作不一样
【发布时间】:2015-03-09 22:20:53
【问题描述】:

我有一个安装在“/home/user”下的程序,它的命令只有在我像这样从命令行执行它们时才有效:

root@server:~# su - user
user@server:~# command

但是,我正在尝试像这样编写这些命令:

su - user -c 'command'

虽然脚本执行并且命令是“运行”,但程序的某些部分不能正常工作。

我确保“root”和“user”之间的 $PATH 变量相同,并将 /home/user/.profile 中的几个环境变量添加到 root 变量。尽管如此,还是缺少一些东西。

命令行与脚本中的“su - user”有什么特别之处,我该如何解释缺少的内容?

【问题讨论】:

    标签: path su


    【解决方案1】:

    我不能确定你的命令的隐藏部分有什么不同。但我想指出一些可能有帮助的事情:

    希望这会有所帮助。

    【讨论】:

    • 不知何故,我偶然发现了答案。我假设我在 /etc/bash.bashrc 中获取的文件(并定义了 $PATH)会随处可见。显然情况并非如此。所以我再次在 /home/user/.profile 中获取该文件,现在它可以工作了。
    • @Corepuncher:感谢您提交最终解决方案,我相信它会帮助某人一段时间:-)
    猜你喜欢
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    相关资源
    最近更新 更多