我正在Python(#!/usr/bin/env python
)中编写一个shell脚本.我总体上对shell脚本有点新意,所以如果我误解了某些内容,我会道歉.
我目前的理解是,如果我的shell脚本成功运行,我应该调用sys.exit()
以指示它已成功(即返回0).
如果我遇到了错误(具体来说,用户已经传递了我不期望的参数),我应该返回什么,以及如何?
是否可以sys.exit()
使用任何非零值进行调用,例如sys.exit(1)
?
任何非零值都可以.所以sys.exit(1)
是正确的.这些错误代码对于在命令行上使用脚本很有用:
python test.py && echo 'success'
Run Code Online (Sandbox Code Playgroud)
当脚本返回0以外的任何内容时,上述内容将不会打印"成功".
大多数Shell实用程序具有各种返回值,具体取决于发生的错误.
标准是当状态代码为0退出时,表示执行成功结束.
对于其他错误代码,这在很大程度上取决于实用程序本身.您最有可能在上述实用程序的手册页中了解错误代码.
这是ls
手册页的一个简单示例:
Run Code Online (Sandbox Code Playgroud)Exit status: 0 if OK, 1 if minor problems (e.g., cannot access subdirectory), 2 if serious trouble (e.g., cannot access command-line argument).
强烈建议您正确记录实用程序的退出代码,以便其用户正确使用它.
归档时间: |
|
查看次数: |
4615 次 |
最近记录: |