了解到,shell中命令执行成功后返回值为0,也即$?为0 这没什么问题,但总感觉有点不对劲,这样岂不是在很多时候条件判断或其他场合中会造成一定混淆困惑? 比如if(命令执行) 一般的逻辑都是成功的话则如何如何...。但如果成功返回的是0的话...这个就...总感觉成功执行应该返回1才对 大家能说说这其中有什么就讲究么? 谢谢
我现在知道: (1) system可以调用shell 命令,例如:system("ls -l") ; system("echo \"Hello, World\"") ; (2) shell 命令是有返回值的: 用 echo $? 便可以在标准输出上显示出此返回值 【问题】: 在C语言中,怎么获取一条shell命令的返回值 示意流程如下: return_code = system("shell command") ; if (return_code == 1) do something ; else if (return_...
我是在DOS下编程的。
代码如下:
#include
本帖最后由 weichanghe2000 于 2012-12-29 16:56 编辑 大家好,linux 下面: du -sh /tmp/* 将会列出tmp下面各个文件夹和文件大小。每行输出一个。 12M /tmp/a 13G /tmp/b 1.3M /tmp/c 用 set a = `du -sh /tmp/*` 将会获取 命令的返回值。 但是当我用 echo $a 打印时,结果将只在1行上输出,不方便查看各个文件夹大小,如下: 12M /tmp/a 13G /tmp/b 1.3M /tmp/c 如何 echo $a 打印为如下格式(即带有换行符...
在程序中执行shell 命令,并获得输出及返回值。 有什么好方法吗 现在已知popen可以获得输出,system 可以获得返回值,不想重定向到文件。 在python中有getstatusoutput 完美解决 比如 执行 ls /no_exist 执行结果 ls: /no_exist: No such file or directory, 且 echo $? 为非零值,
比如说我要执行mail命令,我想知道mail发送成功与否,但是在shell中 #!/bin/bash COMMAND=`mail -s $SUBJECT -$MAIL_ADDR` echo $COMMAND 就仅仅执行了COMMAND,却没有什么返回值用来判断操作成功与否啊?