首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用"-ne“和"!=”计算KornShell (ksh)中的退出代码有什么区别?

使用"-ne“和"!=”计算KornShell (ksh)中的退出代码有什么区别?
EN

Stack Overflow用户
提问于 2014-01-07 18:05:14
回答 2查看 677关注 0票数 1

下面两个KornShell (ksh)代码段之间有什么区别,因为它们在测试期间的行为都是完全相同的。返回代码(例如,退出代码、返回状态、退出状态、returnCode)来自SQL*Plus命令(如果有关系的话)。

kornShellSnippet1.ksh

代码语言:javascript
运行
复制
returnCode=${?}
    if [[ ${returnCode} -ne 0 ]]; then #successful command returns 0#

kornShellSnippet2.ksh

代码语言:javascript
运行
复制
returnCode=${?}
    if [[ ${returnCode} != 0 ]]; then #successful command returns 0#
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-07 18:28:51

-ne是一个数值测试,!=是一个字符串测试。因为您知道$?是一个数字,所以使用数字测试是有意义的。

票数 4
EN

Stack Overflow用户

发布于 2016-08-05 11:58:52

据我所知,-ne是支持向后兼容性的遗留语法,而(至少在ksh双方括号内) !=等是本机ksh语法。

但是,为了比较数字,你不会使用算术语法吗?

代码语言:javascript
运行
复制
let returnCode=${?}

if (( returnCode != 0 )); then #successful command returns 0#
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20978669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档