gpt4 book ai didi

linux - su -session-command 错误

转载 作者:太空宇宙 更新时间:2023-11-04 11:35:44 26 4
gpt4 key购买 nike

我有一个非常简单而烦人的问题,我试图以特定用户身份启动我的数据库,但是 *su --session-comman*d 对我来说失败了!

##############################

#!/bin/bash

objectdb-start.sh

OBJECTDB_HOME=/opt/java-tools/objectdb-2.3.0_04
JAVA_USER=javauser

CMD="su --session-command=\"${OBJECTDB_HOME}/bin/objectdb.sh start\" ${JAVA_USER}"

echo $CMD
$CMD

##############################

然后出现这个错误:

[root@Taturana bin]# ./objectdb-start.sh
su --session-command="/opt/java-tools/objectdb-2.3.0_04/bin/objectdb.sh start" javauser
su: user start" does not exist

有什么想法吗?

PS: 我使用的是 Fedora 15

最佳答案

转义的双引号给您带来了麻烦。它们在命令行上的功能并不像您显然期望的那样。因此 shell 看到空格并将 start" 解释为 su 的第二个参数,指定用户名。

在控制台回显命令行真的很重要吗?像这样你可能会过得更好:

su --session-command="${OBJECTDB_HOME}/bin/objectdb.sh start" $JAVA_USER

或者使用 sudo 代替:

sudo -u $JAVA_USER $OBJECTDB_HOME/bin/objectdb.sh start

关于linux - su -session-command 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7997837/

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