su-会话命令错误

发布于 2024-12-13 12:35:55 字数 619 浏览 4 评论 0原文

我有一个非常简单且烦人的问题,我试图以特定用户身份启动我的数据库,但是 *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

i have a very simple and annoying problem, i'm trying to start my database as a specific user, but *su --session-comman*d fail to me!

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

#!/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

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

Then a got this error:

[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

Any idea?

PS: i'm using Fedora 15

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

羞稚 2024-12-20 12:35:56

转义的双引号给你带来了麻烦。它们在命令行上的功能并不像您显然期望的那样。因此,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

The escaped double quotes are causing you trouble. They do not function on the command line as you obviously expect them to. Therefore the shell sees the space and interprets start" as the second argument to su, specifying the username.

Is echoing the command line on the console really important? You'd probably be better off with something like this:

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

Or use sudo instead:

sudo -u $JAVA_USER $OBJECTDB_HOME/bin/objectdb.sh start
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文