nodejs运行系统命令时遇到(Y or N)必须要输入Y或者N才能继续向下运行的解决办法是什么?
假设当前nodejs要运行命令rm -rf 123.txt,那么代码就是
process.exec('rm -rf 123.txx',function (error, stdout, stderr) {
if (error !== null) {
console.log('exec error: ' + error);
}else {
console.log(stdout)
}
});
OK,这里确实删除了。但是如果加上sudo呢?比如sudo rm -rf 123.txt,需要输入密码才能删除。下面是我尝试的办法,但是无法删除:
process.exec('sudo rm -rf 123',function (error, stdout, stderr) {
if (error !== null) {
console.log('exec error: ' + error);
}else {
process.exec('密码',function (error, stdout, stderr) {
if (error !== null) {
console.log('exec error: ' + error);
}else {
console.log(stdout)
}
});
console.log(stdout)
}
});
这是我尝试嵌套process.exec来解决,但是发现无法解决。
上面是个例子,实际项目中我需要使用nodejs来调用python或者其他脚本。
比如xxx.py,在实际终端下他是这样的:
test@test:~/$ python xxx.py
info:xxxxxxx
请问是否继续么?(Y or N):Y
sys_info:xxxxx
请问是否退出?(Y or N):N
log_info:xxxxx
test@test:~/$
如果nodejs调用的话,该怎么办,怎么让提示信息为请问是否继续么?(Y or N):时自动输入Y,并回车继续向下执行。当提示信息为请问是否退出?(Y or N):时,自动输入N,然后回车运行。
相关阅读:
为什么我的js执行了两次?
js里怎么写这个button标签的submit事件?
twitter bootstrap对IE的样式兼容性
xdebug只能是在出错的时候跟踪函数调用情况吗
如何让多次 git 的提交作为一个补丁输出?
process.stdout.pipe(child_process.stdout)失效
【Java的Lambda表达式】请问这个用Lambda表达式写的代码如何改成用匿名内部类的代码呢?
减少商品数量的合适时机
mob提供的短信验证SMSSDK项目包关联后R文件冲突问题
python+c的项目打包安装后,找不到.c文件在哪?求大神指点
storyborad放得控件设置与父控件的距离能不能像长度和宽度一样按比例设置而不只是设置纯数字,请问怎么设置,谢谢
jqury如何制作异步加载的导航框架
nginx如何映射子域名?
如何用css选中radio button
js字符串可以用[]访问单个字符,为什么还要有charAt()?
html,css,js基础学完了,jQuery在学,这个学完了之后该学什么?想从事前端开发工作
关于node。js里面event 模块中 EventEmitter对象on方法返回的值
HTML中的Range对象有什么独特作用?
symfony request 请求如何监控?
期待很好的j2ee的缓存处理设计思路