formata e retorna o status em ksh

3

Eu gostaria de poder declarar um var local como resultado de um comando AND para poder capturar o status de retorno do comando.

Algo parecido com isto:

#!/bin/ksh
typeset -r command_output=$(command)
typeset -r return_status=$?
echo "$return_status" # always 0

O problema com o código de trecho acima é return_status sempre será 0, mesmo se o comando sair com outro código de status.

Alguém para me ajudar?

    
por pierrefevrier 24.03.2015 / 21:53

1 resposta

3

O problema é que typeset cria o status de retorno. Este código (ou seja, ambas as atribuições na mesma declaração) funciona para mim:

typeset -r command_output=$(command) return_status=$?

Para manter o return_status gravável (não somente leitura), você pode fazer:

typeset    command_output=$(command) return_status=$?
typeset -r command_output

(isto é, declare a variável somente leitura como o comando subseqüente).

    
por 24.03.2015 / 21:59
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warningyii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '808132',
    'url' => 'typeset-and-return-status-in-ksh',
];

$_COOKIE = [
    'advanced-frontend' => 'b72jmuiivurjo60d8ulb1g1k1s',
    '_csrf-frontend' => 'adb34e8e6b684cdc66e7b0aa7033eb3539635554f57f123caab5910b4a4bfc76a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"iBpn_OHgaHP7WlzNcwbnlaTF6-C03z9m";}',
];

$_SESSION = [
    '__flash' => [],
];