我有一个系统(“sudo apt-get update | sudo apt-get -y install apache2 zip unzip”);但是它同时执行所有相同的命令?我如何使它一个接一个地完成?还有人可能会要求用户输入apt-get的信息,我如何让它显示?C - 系统(“”);一次执行一个
0
A
回答
5
管道字符(|
)表示sudo apt-get update
的输出正在输入到sudo apt-get -y install apache2 zip unzip
的输入中。虽然这实际上没有任何意义,但它确实意味着两者同时启动,这不是你想要的。
要么替换为两个独立的系统单调用()调用:
system("sudo apt-get update");
system("sudo apt-get -y install apache2 zip unzip");
需要注意的是,当你调用系统(),你的程序不恢复,直到你启动的进程已经退出,因此,这意味着第一个电话会执行,然后是第二个电话。
或者更换&&
管道(不一定保证能工作,但它真的应该在任何Linux系统):
system("sudo apt-get update && sudo apt-get -y install apache2 zip unzip");
这意味着只有在命令的右侧将执行左侧退出无误(技术上,退出状态为0)。
您也可以用分号替换管道(;
),它应该顺序执行这两个命令,而不管第一个命令的退出状态如何。
+0
谢谢!!!,工作很棒! – Daniel 2010-07-17 04:55:43
相关问题
- 1. PHP一次执行(工资系统)
- 2. C++是一个系统调用正确执行
- 3. 建议一个数据库系统来执行c?
- 4. 执行一次每个值C++
- 5. 如何在C中一次执行一系列sqlcommand#
- 6. 执行一次
- 7. “查看”系统 - 每个用户一次
- 8. 如何执行一个方法在运行时执行一次c#
- 9. 执行一个PHP方法一次
- 10. RxJava一次只能执行一个Observable
- 11. PHP一次一个地执行PHP吗?
- 12. 如何捕获由unix系统抛出的错误消息给另一个系统,在这个系统中执行的命令将在UNIX系统上执行?
- 13. 有执行程序和调用函数统一的系统吗?
- 14. STD系统将下一行C++
- 15. 运行一个程序使用系统()
- 16. 只执行一次Sql命令一次
- 17. 执行一次keyup
- 18. Javascript执行一次
- 19. 如何检查系统最后一次调用的成功执行()
- 20. c从一个系统到另一个系统的文件传输#
- 21. 如何执行系统还原(c#)
- 22. WITH语句每个查询执行一次还是每行执行一次?
- 23. 一次执行类代码C++
- 24. GET for一个For循环只执行一次执行
- 25. 执行与系统()一个后台进程
- 26. 反编译一个RISC系统/ 6000可执行文件
- 27. Qt在另一个系统上可执行崩溃
- 28. 在执行系统调用之前触发一个事件
- 29. 我的第一个程序系统C
- 30. 只执行一次SQL函数一次
有什么迹象让你觉得这两个命令是同时执行的? – bits 2010-07-17 04:48:37
他们都在一个系统调用,但apt-get接缝说它被锁定,虽然没有任何过程之前系统调用 – Daniel 2010-07-17 04:49:39
是否有任何理由你使用C? – ghostdog74 2010-07-17 04:50:03