|
From: | l_j_f |
Subject: | use local and $? |
Date: | Mon, 12 Jan 2015 17:23:53 +0800 |
1. bash version
-sh-4.3# bash --version
GNU bash, version 4.3.0(1)-release (arm-hisiv200-linux-gnu)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. 2. the script
#!/bin/bash
ok() {
echo ok
}
error() {
echo error
return 1
}
main() {
local err
local a=$(ok); err=$?
echo a=$a err=$err
local b=$(error); err=$?
echo b=$b err=$err
} main "$@"
3. the result
-sh-4.3# ./test2.sh
a=ok err=0
b=error err=0 #I think it should be "b=error err=1"
l_j_f
|
[Prev in Thread] | Current Thread | [Next in Thread] |