当前位置:  开发笔记 > 编程语言 > 正文

检测Bash"导出"值的失败

如何解决《检测Bash"导出"值的失败》经验,为你挑选了1个好方法。

在Bash中我正在执行一个命令并将结果放在一个变量中:

export var=`svn ls`

但是如果SVN由于某种原因失败 - 比如它返回一个非零错误代码 - 导出仍然返回状态代码0.如何检测执行的命令是否失败?



1> ephemient..:
var=`svn ls`
if [[ $? == 0 ]]
then
        export var
else
        unset var
fi

$?是执行的最后一个命令的退出代码,就svn ls在这里.

jmohr的解决方案简短而且甜美.温和地适应,

var=`svn ls` && export var || unset var

将大致相当于上述(export有效的标识符永远不会失败,除非你做了一些可怕的事情并且耗尽了环境空间).拿你想要的任何东西 - 我unset只是为了避免$var可能有一个值,即使它没有被导出.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有