精华内容
下载资源
问答
  • 主要介绍了linux命令返回值的含义,linux命令执行后无论成功与否都有一个返回值,如果为 0,则表示命令执行成功,其它值则表示错误,具体代码及含义介绍大家通过本文学习下吧
  • linux 脚本返回值

    千次阅读 2013-07-17 10:29:17
    linux 脚本返回值 简单版本 1. 创建一个脚本a,内容如下:  #!/bin/sh  #filename: a  exit 22  2. 创建一个c语言程序1.C,调用该脚本,通过system的返回值来判断是否执行脚本成功.  #...

    linux 脚本返回值

    简单版本

    1. 创建一个脚本a,内容如下:

        #!/bin/sh
          #filename: a
          exit 22

      2. 创建一个c语言程序1.C,调用该脚本,通过system的返回值来判断是否执行脚本成功.

        #include <stdio.h>
           #include <stdlib.h>
           #include <iostream.h>
           int main()
          {
                int nRes = system("a");
                nRes = nRes >> 8;
                cout<<nRes<<endl;
               return 1;
          }

      通过: g++ -o test 1.C得到可执行文件:test.

      执行:./text后得到的结果就是: 22.


    3. 修改脚本a,在a中实现文件拷贝的功能,如果拷贝不成功,则出现一个自定义的提示.

          #!/bin/sh
           #filename: a
           if cp 1.C 2.C > /dev/null 2>
           then 
               echo "cp succeed !";
           else  
               echo "`basename $0`: cp not succeed !";
           fi

       执行text,得到的结果为:
       cp succeed !
       0
     
       如果要拷贝的文件为3.C,该文件是一个不存在的文件,如下所示:

          #!/bin/sh
           #filename: a
           if cp 3.C 2.C > /dev/null 2>
           then 
               echo "cp succeed !";
           else  
               echo "`basename $0`: cp not succeed !";
               exit 1;
           fi

      那么执行./test后得到的结果就是:
      a: cp not succeed !
      1

     

      通过上面的操作我们知道了if在测试返回值的时候: 0表示真;1表示假.



    复杂版本
    例:

    status = system("./test.sh");  
     

    1、先统一两个说法:
    (1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值
    (2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值。
     
    2、如何正确判断test.sh是否正确执行?
    仅判断status是否==0?或者仅判断status是否!=-1? 
     
    都错!
     
    3、man中对于system的说明
     
    RETURN VALUE
           The value returned is -1 on error (e.g.  fork() failed), and the return
           status  of  the command otherwise.  This latter return status is in the
           format specified in wait(2).  Thus, the exit code of the  command  will
           be  WEXITSTATUS(status).   In  case  /bin/sh could not be executed, the
           exit status will be that of a command that does exit(127).
    看得很晕吧?
     
    system函数对返回值的处理,涉及3个阶段:
    阶段1:创建子进程等准备工作。如果失败,返回-1。
    阶段2:调用/bin/sh拉起shell脚本,如果拉起失败或者shell未正常执行结束(参见备注1),原因值被写入到status的低8~15比特位中。system的man中只说明了会写了127这个值,但实测发现还会写126等值。
    阶段3:如果shell脚本正常执行结束,将shell返回值填到status的低8~15比特位中。
    备注1:
    只要能够调用到/bin/sh,并且执行shell过程中没有被其他信号异常中断,都算正常结束。
    比如:不管shell脚本中返回什么原因值,是0还是非0,都算正常执行结束。即使shell脚本不存在或没有执行权限,也都算正常执行结束。
    如果shell脚本执行过程中被强制kill掉等情况则算异常结束。
     
    如何判断阶段2中,shell脚本是否正常执行结束呢?系统提供了宏:WIFEXITED(status)。如果WIFEXITED(status)为真,则说明正常结束。
    如何取得阶段3中的shell返回值?你可以直接通过右移8bit来实现,但安全的做法是使用系统提供的宏:WEXITSTATUS(status)。
     
     
    由于我们一般在shell脚本中会通过返回值判断本脚本是否正常执行,如果成功返回0,失败返回正数。
    所以综上,判断一个system函数调用shell脚本是否正常结束的方法应该是如下3个条件同时成立:
    (1)-1 != status
    (2)WIFEXITED(status)为真
    (3)0 == WEXITSTATUS(status)
     
    注意:
    根据以上分析,当shell脚本不存在、没有执行权限等场景下时,以上前2个条件仍会成立,此时WEXITSTATUS(status)为127,126等数值。
    所以,我们在shell脚本中不能将127,126等数值定义为返回值,否则无法区分中是shell的返回值,还是调用shell脚本异常的原因值。shell脚本中的返回值最好多1开始递增。
     
    判断shell脚本正常执行结束的健全代码如下:
    ?
    #include <stdio.h>  
    #include <stdlib.h>  
    #include <sys/wait.h>  
    #include <sys/types.h>  
       
    int main() 

        pid_t status; 
       
       
        status = system("./test.sh"); 
       
        if (-1 == status) 
        { 
            printf("system error!"); 
        } 
        else 
        { 
            printf("exit status value = [0x%x]\n", status); 
       
            if (WIFEXITED(status)) 
            { 
                if (0 == WEXITSTATUS(status)) 
                { 
                    printf("run shell script successfully.\n"); 
                } 
                else 
                { 
                    printf("run shell script fail, script exit code: %d\n", WEXITSTATUS(status)); 
                } 
            } 
            else 
            { 
                printf("exit status = [%d]\n", WEXITSTATUS(status)); 
            } 
        } 
       
        return 0; 


      
     
    WIFEXITED(stat_val) Evaluates to a non-zero value if status
    was returned for a child process that
    terminated normally.

    WEXITSTATUS(stat_val) If the value of WIFEXITED(stat_val) is
    non-zero, this macro evaluates to the
    low-order 8 bits of the status argument
    that the child process passed to _exit()
    or exit(), or the value the child
    process returned from main().

    展开全文
  • linux脚本返回值

    千次阅读 2012-08-17 11:45:47
    Linux命令的返回值Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序在结束时,都会返回一个数字值,这个值叫做返回值,或者称为错误号 ( Error Number )。 在控制台下,...

    Linux命令的返回值

    在 Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序在结束时,都会返回一个数字值,这个值叫做返回值,或者称为错误号 ( Error Number )。

    在控制台下,有一个特殊的环境变量 $?,保存着前一个程序的返回值,我们可以试试:

    $ ls *.png
    Diagram1.png  eqn.png         peazip.png
    eqn4.png      Mandelbrot.png  x2.png
    $ echo $?
    0

    先随便执行个命令,比如像上面的 ls 某些文件,然后通过 echo $?,打印 $? 的值~

    我们发现返回值是 0,这是什么意思呢?

    只要返回值是 0,就代表程序执行成功了~

    也就是说,如果 $? 变量的值不是 0 的话,就表示上一个命令在执行的过程中出错了。我们可以试着 ls 一个不存在的文件:

    $ ls linuxgem
    ls: 无法访问 linuxgem: 没有那个文件或目录
    $ echo $?
    2

    这样,对于某些打印出一堆不熟悉的英文信息的命令,可以方便的看出它是否成功执行结束。

    不过,每次都 echo $? 一下太累了,没关系,你可以把 $? 放在提示符里去:

    galeki@localhost ~ $ export PS1="[\$?]${PS1}"
    [0]galeki@localhost ~ $

    export PS1="[\$?]${PS1}"  这个命令把 $? 的值放在的提示符的最前面,这样每次执行完命令,这个值都会自动更新,这下就一目了然了~ 

    那么如果返回的值不是 0,我们要怎么知道是那里出错了呢? 大多数的程序出错都会给出提示,如果没有提示的话,可以用 perror 这个程序来查看错误的信息,比如返回值是 2,我们可以运行:

    $ perror 2
    OS error code   2:  No such file or directory

    这样就清楚了,原来是文件不存在~

     


    错误对照表:

     

    "OS error code   1:  Operation not permitted"
    "OS error code   2:  No such file or directory"
    "OS error code   3:  No such process"
    "OS error code   4:  Interrupted system call"
    "OS error code   5:  Input/output error"
    "OS error code   6:  No such device or address"
    "OS error code   7:  Argument list too long"
    "OS error code   8:  Exec format error"
    "OS error code   9:  Bad file descriptor"
    "OS error code  10:  No child processes"
    "OS error code  11:  Resource temporarily unavailable"
    "OS error code  12:  Cannot allocate memory"
    "OS error code  13:  Permission denied"
    "OS error code  14:  Bad address"
    "OS error code  15:  Block device required"
    "OS error code  16:  Device or resource busy"
    "OS error code  17:  File exists"
    "OS error code  18:  Invalid cross-device link"
    "OS error code  19:  No such device"
    "OS error code  20:  Not a directory"
    "OS error code  21:  Is a directory"
    "OS error code  22:  Invalid argument"
    "OS error code  23:  Too many open files in system"
    "OS error code  24:  Too many open files"
    "OS error code  25:  Inappropriate ioctl for device"
    "OS error code  26:  Text file busy"
    "OS error code  27:  File too large"
    "OS error code  28:  No space left on device"
    "OS error code  29:  Illegal seek"
    "OS error code  30:  Read-only file system"
    "OS error code  31:  Too many links"
    "OS error code  32:  Broken pipe"
    "OS error code  33:  Numerical argument out of domain"
    "OS error code  34:  Numerical result out of range"
    "OS error code  35:  Resource deadlock avoided"
    "OS error code  36:  File name too long"
    "OS error code  37:  No locks available"
    "OS error code  38:  Function not implemented"
    "OS error code  39:  Directory not empty"
    "OS error code  40:  Too many levels of symbolic links"
    "OS error code  42:  No message of desired type"
    "OS error code  43:  Identifier removed"
    "OS error code  44:  Channel number out of range"
    "OS error code  45:  Level 2 not synchronized"
    "OS error code  46:  Level 3 halted"
    "OS error code  47:  Level 3 reset"
    "OS error code  48:  Link number out of range"
    "OS error code  49:  Protocol driver not attached"
    "OS error code  50:  No CSI structure available"
    "OS error code  51:  Level 2 halted"
    "OS error code  52:  Invalid exchange"
    "OS error code  53:  Invalid request descriptor"
    "OS error code  54:  Exchange full"
    "OS error code  55:  No anode"
    "OS error code  56:  Invalid request code"
    "OS error code  57:  Invalid slot"
    "OS error code  59:  Bad font file format"
    "OS error code  60:  Device not a stream"
    "OS error code  61:  No data available"
    "OS error code  62:  Timer expired"
    "OS error code  63:  Out of streams resources"
    "OS error code  64:  Machine is not on the network"
    "OS error code  65:  Package not installed"
    "OS error code  66:  Object is remote"
    "OS error code  67:  Link has been severed"
    "OS error code  68:  Advertise error"
    "OS error code  69:  Srmount error"
    "OS error code  70:  Communication error on send"
    "OS error code  71:  Protocol error"
    "OS error code  72:  Multihop attempted"
    "OS error code  73:  RFS specific error"
    "OS error code  74:  Bad message"
    "OS error code  75:  Value too large for defined data type"
    "OS error code  76:  Name not unique on network"
    "OS error code  77:  File descriptor in bad state"
    "OS error code  78:  Remote address changed"
    "OS error code  79:  Can not access a needed shared library"
    "OS error code  80:  Accessing a corrupted shared library"
    "OS error code  81:  .lib section in a.out corrupted"
    "OS error code  82:  Attempting to link in too many shared libraries"
    "OS error code  83:  Cannot exec a shared library directly"
    "OS error code  84:  Invalid or incomplete multibyte or wide character"
    "OS error code  85:  Interrupted system call should be restarted"
    "OS error code  86:  Streams pipe error"
    "OS error code  87:  Too many users"
    "OS error code  88:  Socket operation on non-socket"
    "OS error code  89:  Destination address required"
    "OS error code  90:  Message too long"
    "OS error code  91:  Protocol wrong type for socket"
    "OS error code  92:  Protocol not available"
    "OS error code  93:  Protocol not supported"
    "OS error code  94:  Socket type not supported"
    "OS error code  95:  Operation not supported"
    "OS error code  96:  Protocol family not supported"
    "OS error code  97:  Address family not supported by protocol"
    "OS error code  98:  Address already in use"
    "OS error code  99:  Cannot assign requested address"
    "OS error code 100:  Network is down"
    "OS error code 101:  Network is unreachable"
    "OS error code 102:  Network dropped connection on reset"
    "OS error code 103:  Software caused connection abort"
    "OS error code 104:  Connection reset by peer"
    "OS error code 105:  No buffer space available"
    "OS error code 106:  Transport endpoint is already connected"
    "OS error code 107:  Transport endpoint is not connected"
    "OS error code 108:  Cannot send after transport endpoint shutdown"
    "OS error code 109:  Too many references: cannot splice"
    "OS error code 110:  Connection timed out"
    "OS error code 111:  Connection refused"
    "OS error code 112:  Host is down"
    "OS error code 113:  No route to host"
    "OS error code 114:  Operation already in progress"
    "OS error code 115:  Operation now in progress"
    "OS error code 116:  Stale NFS file handle"
    "OS error code 117:  Structure needs cleaning"
    "OS error code 118:  Not a XENIX named type file"
    "OS error code 119:  No XENIX semaphores available"
    "OS error code 120:  Is a named type file"
    "OS error code 121:  Remote I/O error"
    "OS error code 122:  Disk quota exceeded"
    "OS error code 123:  No medium found"
    "OS error code 124:  Wrong medium type"
    "OS error code 125:  Operation canceled"
    "OS error code 126:  Required key not available"
    "OS error code 127:  Key has expired"
    "OS error code 128:  Key has been revoked"
    "OS error code 129:  Key was rejected by service"
    "OS error code 130:  Owner died"
    "OS error code 131:  State not recoverable"
    "MySQL error code 132: Old database file"
    "MySQL error code 133: No record read before update"
    "MySQL error code 134: Record was already deleted (or record file crashed)"
    "MySQL error code 135: No more room in record file"
    "MySQL error code 136: No more room in index file"
    "MySQL error code 137: No more records (read after end of file)"
    "MySQL error code 138: Unsupported extension used for table"
    "MySQL error code 139: Too big row"
    "MySQL error code 140: Wrong create options"
    "MySQL error code 141: Duplicate unique key or constraint on write or update"
    "MySQL error code 142: Unknown character set used"
    "MySQL error code 143: Conflicting table definitions in sub-tables of MERGE table"
    "MySQL error code 144: Table is crashed and last repair failed"
    "MySQL error code 145: Table was marked as crashed and should be repaired"
    "MySQL error code 146: Lock timed out; Retry transaction"
    "MySQL error code 147: Lock table is full;  Restart program with a larger locktable"
    "MySQL error code 148: Updates are not allowed under a read only transactions"
    "MySQL error code 149: Lock deadlock; Retry transaction"
    "MySQL error code 150: Foreign key constraint is incorrectly formed"
    "MySQL error code 151: Cannot add a child row"
    "MySQL error code 152: Cannot delete a parent row"

    展开全文
  • Linux system返回值

    2016-06-30 14:53:02
    例: status = system("./test.sh");  ...(1)system返回值:指调用system...(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值。 2、如何正确判断t

    例:
    1. status = system("./test.sh");  
    1、先统一两个说法:
    (1)system返回值:指调用system函数后的返回值,比如上例中status为system返回值
    (2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值。

    2、如何正确判断test.sh是否正确执行?
    仅判断status是否==0?或者仅判断status是否!=-1? 

    都错!

    3、man中对于system的说明

    RETURN VALUE
           The value returned is -1 on error (e.g.  fork() failed), and the return
           status  of  the command otherwise.  This latter return status is in the
           format specified in wait(2).  Thus, the exit code of the  command  will
           be  WEXITSTATUS(status).   In  case  /bin/sh could not be executed, the
           exit status will be that of a command that does exit(127)
    .
    看得很晕吧?

    system函数对返回值的处理,涉及3个阶段:
    阶段1:创建子进程等准备工作。如果失败,返回-1。
    阶段2:调用/bin/sh拉起shell脚本,如果拉起失败或者shell未正常执行结束(参见备注1),原因值被写入到status的低8~15比特位中。system的man中只说明了会写了127这个值,但实测发现还会写126等值。
    阶段3:如果shell脚本正常执行结束,将shell返回值填到status的低8~15比特位中。
    备注1:
    只要能够调用到/bin/sh,并且执行shell过程中没有被其他信号异常中断,都算正常结束。
    比如:不管shell脚本中返回什么原因值,是0还是非0,都算正常执行结束。即使shell脚本不存在或没有执行权限,也都算正常执行结束。
    如果shell脚本执行过程中被强制kill掉等情况则算异常结束。

    如何判断阶段2中,shell脚本是否正常执行结束呢?系统提供了宏:WIFEXITED(status)。如果WIFEXITED(status)为真,则说明正常结束。
    如何取得阶段3中的shell返回值?你可以直接通过右移8bit来实现,但安全的做法是使用系统提供的宏:WEXITSTATUS(status)。


    由于我们一般在shell脚本中会通过返回值判断本脚本是否正常执行,如果成功返回0,失败返回正数。
    所以综上,判断一个system函数调用shell脚本是否正常结束的方法应该是如下3个条件同时成立:
    (1)-1 != status
    (2)WIFEXITED(status)为真
    (3)0 == WEXITSTATUS(status)

    注意:
    根据以上分析,当shell脚本不存在、没有执行权限等场景下时,以上前2个条件仍会成立,此时WEXITSTATUS(status)为127,126等数值。
    所以,我们在shell脚本中不能将127,126等数值定义为返回值,否则无法区分中是shell的返回值,还是调用shell脚本异常的原因值。shell脚本中的返回值最好多1开始递增。

    判断shell脚本正常执行结束的健全代码如下:
     
    1. #include <stdio.h>   
    2. #include <stdlib.h>   
    3. #include <sys/wait.h>   
    4. #include <sys/types.h>   
    5.   
    6. int main()  
    7. {  
    8.     pid_t status;  
    9.   
    10.   
    11.     status = system("./test.sh");  
    12.   
    13.     if (-1 == status)  
    14.     {  
    15.         printf("system error!");  
    16.     }  
    17.     else  
    18.     {  
    19.         printf("exit status value = [0x%x]\n", status);  
    20.   
    21.         if (WIFEXITED(status))  
    22.         {  
    23.             if (0 == WEXITSTATUS(status))  
    24.             {  
    25.                 printf("run shell script successfully.\n");  
    26.             }  
    27.             else  
    28.             {  
    29.                 printf("run shell script fail, script exit code: %d\n", WEXITSTATUS(status));  
    30.             }  
    31.         }  
    32.         else  
    33.         {  
    34.             printf("exit status = [%d]\n", WEXITSTATUS(status));  
    35.         }  
    36.     }  
    37.   
    38.     return 0;  
    39. }  
    WIFEXITED(stat_val) Evaluates to a non-zero value if status
    was returned for a child process that
    terminated normally.

    WEXITSTATUS(stat_val) If the value of WIFEXITED(stat_val) is
    non-zero, this macro evaluates to the
    low-order 8 bits of the status argument
    that the child process passed to _exit()
    or exit(), or the value the child
    process returned from main().
    展开全文
  • Linux 命令返回值

    万次阅读 2012-05-03 13:29:35
    Linux中不管是启动桌面程序还是在控制台执行命令都会有一个返回值,可以叫做错误号(perror),在linux中执行命令后可通过命令:echo $?来查看上一条命令的返回值。要查看返回值的具体含义,可通过perror number查看...

        在Linux中不管是启动桌面程序还是在控制台执行命令都会有一个返回值,可以叫做错误号(perror),在linux中执行命令后可通过命令:echo $?来查看上一条命令的返回值。要查看返回值的具体含义,可通过perror number查看。

        Java中可通过 Runtime.getRuntime().exec(cmd) 执行命令,exec(prams)返回的是一个Process,可通过Process.waitFor()获取返回值


    以下是Linux中返回值对照表

    "OS error code   1:  Operation not permitted"
    "OS error code   2:  No such file or directory"
    "OS error code   3:  No such process"
    "OS error code   4:  Interrupted system call"
    "OS error code   5:  Input/output error"
    "OS error code   6:  No such device or address"
    "OS error code   7:  Argument list too long"
    "OS error code   8:  Exec format error"
    "OS error code   9:  Bad file descriptor"
    "OS error code  10:  No child processes"
    "OS error code  11:  Resource temporarily unavailable"
    "OS error code  12:  Cannot allocate memory"
    "OS error code  13:  Permission denied"
    "OS error code  14:  Bad address"
    "OS error code  15:  Block device required"
    "OS error code  16:  Device or resource busy"
    "OS error code  17:  File exists"
    "OS error code  18:  Invalid cross-device link"
    "OS error code  19:  No such device"
    "OS error code  20:  Not a directory"
    "OS error code  21:  Is a directory"
    "OS error code  22:  Invalid argument"
    "OS error code  23:  Too many open files in system"
    "OS error code  24:  Too many open files"
    "OS error code  25:  Inappropriate ioctl for device"
    "OS error code  26:  Text file busy"
    "OS error code  27:  File too large"
    "OS error code  28:  No space left on device"
    "OS error code  29:  Illegal seek"
    "OS error code  30:  Read-only file system"
    "OS error code  31:  Too many links"
    "OS error code  32:  Broken pipe"
    "OS error code  33:  Numerical argument out of domain"
    "OS error code  34:  Numerical result out of range"
    "OS error code  35:  Resource deadlock avoided"
    "OS error code  36:  File name too long"
    "OS error code  37:  No locks available"
    "OS error code  38:  Function not implemented"
    "OS error code  39:  Directory not empty"
    "OS error code  40:  Too many levels of symbolic links"
    "OS error code  42:  No message of desired type"
    "OS error code  43:  Identifier removed"
    "OS error code  44:  Channel number out of range"
    "OS error code  45:  Level 2 not synchronized"
    "OS error code  46:  Level 3 halted"
    "OS error code  47:  Level 3 reset"
    "OS error code  48:  Link number out of range"
    "OS error code  49:  Protocol driver not attached"
    "OS error code  50:  No CSI structure available"
    "OS error code  51:  Level 2 halted"
    "OS error code  52:  Invalid exchange"
    "OS error code  53:  Invalid request descriptor"
    "OS error code  54:  Exchange full"
    "OS error code  55:  No anode"
    "OS error code  56:  Invalid request code"
    "OS error code  57:  Invalid slot"
    "OS error code  59:  Bad font file format"
    "OS error code  60:  Device not a stream"
    "OS error code  61:  No data available"
    "OS error code  62:  Timer expired"
    "OS error code  63:  Out of streams resources"
    "OS error code  64:  Machine is not on the network"
    "OS error code  65:  Package not installed"
    "OS error code  66:  Object is remote"
    "OS error code  67:  Link has been severed"
    "OS error code  68:  Advertise error"
    "OS error code  69:  Srmount error"
    "OS error code  70:  Communication error on send"
    "OS error code  71:  Protocol error"
    "OS error code  72:  Multihop attempted"
    "OS error code  73:  RFS specific error"
    "OS error code  74:  Bad message"
    "OS error code  75:  Value too large for defined data type"
    "OS error code  76:  Name not unique on network"
    "OS error code  77:  File descriptor in bad state"
    "OS error code  78:  Remote address changed"
    "OS error code  79:  Can not access a needed shared library"
    "OS error code  80:  Accessing a corrupted shared library"
    "OS error code  81:  .lib section in a.out corrupted"
    "OS error code  82:  Attempting to link in too many shared libraries"
    "OS error code  83:  Cannot exec a shared library directly"
    "OS error code  84:  Invalid or incomplete multibyte or wide character"
    "OS error code  85:  Interrupted system call should be restarted"
    "OS error code  86:  Streams pipe error"
    "OS error code  87:  Too many users"
    "OS error code  88:  Socket operation on non-socket"
    "OS error code  89:  Destination address required"
    "OS error code  90:  Message too long"
    "OS error code  91:  Protocol wrong type for socket"
    "OS error code  92:  Protocol not available"
    "OS error code  93:  Protocol not supported"
    "OS error code  94:  Socket type not supported"
    "OS error code  95:  Operation not supported"
    "OS error code  96:  Protocol family not supported"
    "OS error code  97:  Address family not supported by protocol"
    "OS error code  98:  Address already in use"
    "OS error code  99:  Cannot assign requested address"
    "OS error code 100:  Network is down"
    "OS error code 101:  Network is unreachable"
    "OS error code 102:  Network dropped connection on reset"
    "OS error code 103:  Software caused connection abort"
    "OS error code 104:  Connection reset by peer"
    "OS error code 105:  No buffer space available"
    "OS error code 106:  Transport endpoint is already connected"
    "OS error code 107:  Transport endpoint is not connected"
    "OS error code 108:  Cannot send after transport endpoint shutdown"
    "OS error code 109:  Too many references: cannot splice"
    "OS error code 110:  Connection timed out"
    "OS error code 111:  Connection refused"
    "OS error code 112:  Host is down"
    "OS error code 113:  No route to host"
    "OS error code 114:  Operation already in progress"
    "OS error code 115:  Operation now in progress"
    "OS error code 116:  Stale NFS file handle"
    "OS error code 117:  Structure needs cleaning"
    "OS error code 118:  Not a XENIX named type file"
    "OS error code 119:  No XENIX semaphores available"
    "OS error code 120:  Is a named type file"
    "OS error code 121:  Remote I/O error"
    "OS error code 122:  Disk quota exceeded"
    "OS error code 123:  No medium found"
    "OS error code 124:  Wrong medium type"
    "OS error code 125:  Operation canceled"
    "OS error code 126:  Required key not available"
    "OS error code 127:  Key has expired"
    "OS error code 128:  Key has been revoked"
    "OS error code 129:  Key was rejected by service"
    "OS error code 130:  Owner died"
    "OS error code 131:  State not recoverable"
    "MySQL error code 132: Old database file"
    "MySQL error code 133: No record read before update"
    "MySQL error code 134: Record was already deleted (or record file crashed)"
    "MySQL error code 135: No more room in record file"
    "MySQL error code 136: No more room in index file"
    "MySQL error code 137: No more records (read after end of file)"
    "MySQL error code 138: Unsupported extension used for table"
    "MySQL error code 139: Too big row"
    "MySQL error code 140: Wrong create options"
    "MySQL error code 141: Duplicate unique key or constraint on write or update"
    "MySQL error code 142: Unknown character set used"
    "MySQL error code 143: Conflicting table definitions in sub-tables of MERGE table"
    "MySQL error code 144: Table is crashed and last repair failed"
    "MySQL error code 145: Table was marked as crashed and should be repaired"
    "MySQL error code 146: Lock timed out; Retry transaction"
    "MySQL error code 147: Lock table is full;  Restart program with a larger locktable"
    "MySQL error code 148: Updates are not allowed under a read only transactions"
    "MySQL error code 149: Lock deadlock; Retry transaction"
    "MySQL error code 150: Foreign key constraint is incorrectly formed"
    "MySQL error code 151: Cannot add a child row"
    "MySQL error code 152: Cannot delete a parent row"

    展开全文
  • Linux fork返回值

    千次阅读 2011-08-13 10:23:32
    linux创建进程函数fork()正确调用一次的时候有两个返回值: 子进程返回:0 父进程返回:>0的整数(返回子进程ID号) 而错误的时候返回-1 而在介绍fork()函数时的应用例子一般都为以下结构:如下例: #...
  • linux system返回值

    2013-04-28 11:51:54
    [cpp] view plaincopy status = system("./test.sh");  ...(1)system返回值:指调用system函数后的...(2)shell返回值:指system所调用的shell命令的返回值,比如上例中,test.sh中返回的值为shell返回值
  • python中的 os.system(command)的返回值linux命令返回值的关系
  • linux select 返回值

    2013-11-26 18:58:00
    IBM AIX上 select返回值的 man if a connect-based socket is specified in the readlist parameter and the connection disconnects, the select subroutine returns successfully,but the recv subroutine on....
  • xml_words_orig=os.popen("wc -w "+doy_xml+" | awk '{print $1}'").read()
  • linux shell返回值方式及示例

    千次阅读 2018-07-15 10:25:47
    版权声明:本文为博主转载...  Shell函数返回值,常用的两种方式:echo和return echo 据man手册描述:echo是一个输出参数,有空格分割,会产生一个新行。返回永远是0。 echo一般起到一个提示的作用。在she...
  • 一、python中的 os.system(cmd)的返回值linux命令返回值(具体参见本文附加内容)的关系 大家都习惯用os.systemv()函数执行linux命令,该函数的返回值十进制数(分别对应一个16位的二进制数)。该函数的返回值与...
  • linux命令返回值-错误码对照表

    千次阅读 2017-12-05 10:18:51
    "OS error code 1: Operation not permitted" "OS error code 2: No such file or directory" "OS error code 3: No such process" "OS error code 4: Interrupted system call" "OS error code 5: In
  • Linux Shell函数返回值

    2020-09-15 14:04:56
    主要介绍了Linux Shell函数返回值,需要的朋友可以参考下
  • 1、linux recv返回值socket_error (1)一端客户端socket调用shutdown后,另一端socket recv 会返回0。 (2)一端客户端socket调用close后,另一端socket recv 会返回socket_error。 2、socket close与...
  • 我建立一个shell文件 script.sh,内容如下: ...这是因为,Linux默认返回值限制为8bits。我们返回888,二进制为1101111000,超出了两位,从高位去掉两位即得01111000,也就是120. 可以再实验下其他的值。
  • 一、python中的 os.system(cmd)的返回值linux命令返回值(具体参见本文附加内容)的关系 二 . 实例分析 三.linux的各返回值含义 摘自python中os.system()的返回值 参考linux 所有命令的返回值 一、python中的...
  • linux 返回值的作用

    2017-12-08 11:03:10
    什么是返回值在shell终端中,你所输入的一切命令其实都有返回值,而这个返回值默认保存在$?中。
  • linux命令的返回值

    千次阅读 2020-06-22 18:34:39
    linux中的命令, 如果正常执行会返回0, 如果执行出错会返回一个非零值 查看命令的返回值, 在命令执行完毕后再执行$?即可 下图的0表示pwd这条命令执行成功 下图的127表示命令sl执行出错, 具体的原因是:command not ...
  • linux命令执行返回值

    万次阅读 2016-05-18 12:32:09
    Linux 下,不管你是启动一个桌面程序也好,还是在控制台下运行命令,所有的程序在结束时,都会返回一个数字值,这个值叫做返回值,或者称为错误号 ( Error Number )。 在控制台下,有一个特殊的环境变量 $?,...
  • 最近工作接触到了一些Linux上面的文本处理,数据量还是蛮大的,不可避免的学期了shell,awk等...下面这篇文章主要给大家介绍了关于Shell中关于处理方法返回值问题的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 221,551
精华内容 88,620
关键字:

linux方法返回值

linux 订阅