通过node.js运行带有参数的Bash脚本
Running Bash Scripts with arguments through node.js
我试图运行一个bash脚本通过node.js与child_process
当我运行
行时,在我的bash脚本中不工作的部分(echo "PASSWORD"; echo "PASSWORD"; echo "NAME"; echo "ORGANIZATION"; echo "ORGANIZATION"; echo "CIUDAD"; echo "REGION"; echo "PAIS"; echo "yes";echo) |keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000
基本上,当我运行keytool时,我试图回答不同的选项,但它不起作用(该过程被卡住等待一个选项)
在节点我运行
exec('./script.sh', {
cwd: '/Users/MY/Directory'
}, (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
}).stderr.pipe(process.stderr);
有解决方案吗?
谢谢
这是行不通的,因为每次回显都会发生,只有最后一次回显才会通过管道传输到程序中。
我处理这个问题的方法可能是expect
。
见https://linux.die.net/man/1/expect
也可以使用-dname
标志来设置这些字段。这比处理交互式提示干净多了。
"cn =马克琼斯,ou = Java, o =甲骨文,c =我们"
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 参数变量出现ngTable指令问题
- AngularJS:我可以跳过函数参数回调吗
- 如何使用skip参数使用angular ui引导进行服务器端分页
- 要求未定义JS回调参数
- 我的jQuery插件参数没有正确启动,遇到了问题
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- jquery设置为使用参数运行
- Javascript”;类“;带有参数的扩展
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 函数未将值作为参数传递
- 如何将参数传递到angularJs中的工厂
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- MVC 3页面导航和使用javascript传递参数
- 从查询字符串参数推断出正确的数据类型
- 传递包含'%的参数'在URL中
- 使用 Javascript 中的参数执行 bash 脚本
- 通过node.js运行带有参数的Bash脚本