su-会话命令错误
我有一个非常简单且烦人的问题,我试图以特定用户身份启动我的数据库,但是 *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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
转义的双引号给你带来了麻烦。它们在命令行上的功能并不像您显然期望的那样。因此,shell 会看到空格并将
start"
解释为su
的第二个参数,指定用户名。在控制台上回显命令行真的很重要吗?您可能会最好使用这样的东西:
或者使用 sudo 代替:
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 tosu
, specifying the username.Is echoing the command line on the console really important? You'd probably be better off with something like this:
Or use
sudo
instead: