é armazenado em $? variável.
false ; echo $?
true ; echo $?
retornaria
1
0
A convenção do unix é que 0 significa OK. no seu exemplo, veja oOutut mantenha qualquer saída do comando entre aspas.
Não confunda saída e código de retorno.
Eu estava lendo sobre traps, mas só retornava trabalhos para mim no meu shell script, então queria saber qual status ou código ele retorna, então o que tentei é,
#!/bin/bash
seeOutput='return'
echo $seeOutput
Ele está apenas retornando uma nova linha e, quando feito no terminal, diz
-bash: return: can only 'return' from a function or sourced script
que eu já sei: p eu só preciso saber o status de saída do "retorno".
é armazenado em $? variável.
false ; echo $?
true ; echo $?
retornaria
1
0
A convenção do unix é que 0 significa OK. no seu exemplo, veja oOutut mantenha qualquer saída do comando entre aspas.
Não confunda saída e código de retorno.
O que você está fazendo é chamar um comando de shell return
, o que não faz sentido.
Em geral, return
sem valor seguido retorna o status de saída do último comando executado.
De man
: faz com que uma função saia com o valor de retorno especificado por n. Se n é omitido, o status de retorno é aquele do último comando executado no corpo da função.
Foi assim que eu usei:
f()
{
ls $AAA
return $?
}
g()
{
f
return $?
}
d()
{
g
echo $?
}
AAA=
d
_
<contents of dir>
0
_
AAA=sdsasdasd
d
_
ls: sdsasdasd: No such file or directory
2