猿问

bash:命令替换:意外标记“|”附近的语法错误

我正在使用一个简单的命令通过 Java Jsch 代码更改远程 linux 机器中用户的密码。我的命令是


command = "echo -ne "+userPassword+" \n echo "+userPassword+" \n | smbpasswd -a -s "+userId;

((ChannelExec)channel).setPty(true);

((ChannelExec)channel).setCommand("sudo -S -p '' "+command);

但它返回错误说,


bash: command substitution: line 2: syntax error near unexpected token `|'

bash: command substitution: line 2: ` | smbpasswd -a -s TestUserNew'


sudo: JX7MuQoTJX7MuQoT: command not found

我在这里很困惑,因为这个命令在 Linux 中运行。有人可以帮我解决这个问题吗?


慕仙森
浏览 164回答 2
2回答
随时随地看视频慕课网APP

相关分类

Java
我要回答