标签: exitstatus

如果命令失败,如何退出?

我是shell脚本中的菜鸟.如果命令失败,我想打印一条消息并退出我的脚本.我试过了:

my_command && (echo 'my_command failed; exit)
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它不断执行脚本中此行之后的指令.我正在使用Ubuntu和bash.

linux bash exit exitstatus

193
推荐指数
8
解决办法
14万
查看次数

如何在Bash或UNIX shell中检查字符串中的第一个字符?

我在UNIX中编写脚本,我必须检查字符串中的第一个字符是否为"/",如果是,则为branch.

例如,我有一个字符串:

/some/directory/file
Run Code Online (Sandbox Code Playgroud)

我希望这返回1,并且:

server@10.200.200.20:/some/directory/file
Run Code Online (Sandbox Code Playgroud)

返回0.

unix string bash character exitstatus

62
推荐指数
4
解决办法
10万
查看次数

Docker Run退出代码的权威列表是什么?

如果有人问过这个道歉,但在Docker文档中没有任何地方可以找到退出代码的权威列表(也称为退出状态).奇怪!我看到有关使其保持一致的建议,但在docker.com上没有文档.

有谁知道可以找到退出代码的位置?

exitstatus docker

42
推荐指数
2
解决办法
5万
查看次数

linux命令返回退出状态1的含义

linux命令返回的退出状态1的含义是什么?像127退出状态表示"未找到命令".

我访问过http://linux.die.net/abs-guide/exitcodes.html页面,是否意味着退出状态1没有特别的含义?

linux command exitstatus

18
推荐指数
2
解决办法
7万
查看次数

如何使Fabric在获得退出状态后继续运行下一个命令:1?

我将通过编写一个简单的fabfile 来安装check_mk插件:

from fabric.api import env, run, roles, execute, parallel

env.roledefs = {
    'monitoring': ['192.168.3.118'],
    'mk-agent': ['192.168.3.230', '192.168.3.231', '192.168.3.232']
}

@roles('monitoring')
def mk():
    run('[ -f check_mk-1.1.12p7.tar.gz ] || wget http://mathias-kettner.de/download/check_mk-1.1.12p7.tar.gz')
    run('[ -d check_mk-1.1.12p7 ] || tar zxvf check_mk-1.1.12p7.tar.gz')
    run('cd check_mk-1.1.12p7 && sudo ./setup.sh')

@parallel    
@roles('mk-agent')
def mk_agent():
    run('[ `rpm -qa | grep -c xinetd` -eq 0 ] && sudo yum -y install xinetd.x86_64')
    run('sudo rpm -ivh http://mathias-kettner.de/download/check_mk-agent-1.2.0b2-1.noarch.rpm') 

def check_mk():
    execute(mk)
    execute(mk_agent)
Run Code Online (Sandbox Code Playgroud)

但是,正如您可以猜到的,如果xinetd已经安装了软件包,Fabric将停止并出现以下错误:

Fatal error: run() received …
Run Code Online (Sandbox Code Playgroud)

python fabric exitstatus

14
推荐指数
2
解决办法
2万
查看次数

如何判断bash脚本中的任何命令是否失败(非零退出状态)

我想知道bash脚本中的任何命令是否以非零状态退出.

我想要类似于set -e功能的东西,除了当命令以非零状态退出时我不希望它退出.我想让它运行整个脚本,然后我想知道:

a)所有命令以退出状态0退出
-
或- b)一个或多个命令以非零状态退出


例如,给出以下内容:

#!/bin/bash

command1  # exits with status 1
command2  # exits with status 0
command3  # exits with status 0
Run Code Online (Sandbox Code Playgroud)

我想要运行所有三个命令.运行脚本后,我想要一个指示,即至少有一个命令以非零状态退出.

bash exit-code sh exitstatus

13
推荐指数
1
解决办法
3912
查看次数

Bash退出状态的简写增量表示法

我注意到bash 表示法的返回状态明显不一致(( )).
考虑以下

$> A=0
$> ((A=A+1))
$> echo $? $A
0 1
Run Code Online (Sandbox Code Playgroud)

但是使用其他众所周知的速记增量表示法产生:

$> A=0
$> ((A++))
$> echo $? $A
1 1
Run Code Online (Sandbox Code Playgroud)

如果set -e脚本中有内置的第二个表示法将导致脚本退出,因为((A++))返回的非零的退出状态.在这个相关问题中或多或少地解决了这个问题.但它似乎并没有解释这两个符号在退出状态的差异((A=A+1))((A++))

((A++))似乎1只有在A等于时返回0.(免责声明:我没有做过详尽的测试.在bash 4.1.2和4.2.25中测试过).所以最后一个问题归结为:

为什么要A=0; ((A++))回来1

bash shorthand exitstatus

9
推荐指数
1
解决办法
563
查看次数

angular2 quickstart npm安装失败

当我尝试运行npm install时出现以下错误.错误如下:

npm ERR! node v0.12.12
npm ERR! npm  v3.3.6
npm ERR! code ELIFECYCLE
npm ERR! angular2-quickstart@1.0.0 postinstall: `typings install`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the angular2-quickstart@1.0.0 postinstall script 'typings ins
tall'.
npm ERR! This is most likely a problem with the angular2-quickstart package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     typings install
npm ERR! You can get their info via:
npm …
Run Code Online (Sandbox Code Playgroud)

node.js exitstatus angular

9
推荐指数
1
解决办法
6323
查看次数

unix shell,用管道的孩子获取退出代码

假设我在unix shell中执行此操作

$ some-script.sh | grep mytext

$ echo $?
Run Code Online (Sandbox Code Playgroud)

这将给我退出代码 grep

但是如何获得退出代码呢? some-script.sh

编辑

假设管道操作是不可变的.也就是说,我无法分开它并单独运行这两个命令

unix shell io-redirection exitstatus

7
推荐指数
1
解决办法
2670
查看次数

即使失败的构建,Maven也会返回0的退出状态?

我在我的linux机器上使用Maven v2.2.1.我有一个构建脚本,它调用mvn并根据构建状态执行某些操作.我注意到退出状态代码设置为0,无论mvn构建是失败还是成功.

我也碰到http://jira.codehaus.org/browse/MNG-3651声称该问题已经在V2.1.0-M1.有没有其他人注意到这一点?

谢谢!

linux maven-2 exitstatus

7
推荐指数
0
解决办法
1774
查看次数