Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 无法获取bash函数的返回值_Linux_Bash - Fatal编程技术网

Linux 无法获取bash函数的返回值

Linux 无法获取bash函数的返回值,linux,bash,Linux,Bash,我试图运行一个脚本,希望bash在每个实例中运行特定数量的curl语句。 不幸的是,我不知道如何获取用于计算从运行curls的函数返回的curls数的局部变量 这是我的密码: function pusher() { local lines="$@" local pushcount=0 for line in $lines; do if validnumber $line; then #printf "$line is a valid number.\n"

我试图运行一个脚本,希望bash在每个实例中运行特定数量的curl语句。 不幸的是,我不知道如何获取用于计算从运行curls的函数返回的curls数的局部变量

这是我的密码:

function pusher()
{
local lines="$@"
local pushcount=0
for line in  $lines; do

    if validnumber $line; then
        #printf "$line is a valid number.\n"
        if grep -Fxq $line  results.txt; then
            echo "$line previously successfully treated." >> failures.txt
            break
        fi
        #pushing
        if is_a_personal personals ${line:0:6}; then
            /usr/bin/curl -s -k "https://192.168.2.123:567/pull?service=abc.ABCDEoboe&person=$line" > /dev/null &
            echo "$line is treated" >> results.txt
            (( pushcount++ ))
        else
            #printf "$line is not an personal number. Using others push\n"
            /usr/bin/curl -s -k "https://192.168.2.123:567/pull?service=abc.ABCDE&person=$line" > /dev/null &
            echo "$line is treated" >> results.txt
            (( pushcount++ ))
        fi

    else
        #printf "$line is NOT properly formatted or invalid.\n"
        echo "$line is NOT properly formatted or invalid." >> failures.txt
        (( pushcount++ ))
    fi


done &
echo "$pushcount"
#return $pushcount
 wait
}

xargs -L 100 -a $numberfile | while read line 
 do
    #pusher  $line
    (( count++))
    printf "$(pusher $line) messages sent using loop $count in `date +%S` seconds\n"
done
当我运行脚本时,我得到的是“0”或null,而不是我正在寻找的pushcount的值

0 messages sent using loop 225 in 01 seconds
0 messages sent using loop 226 in 14 seconds
0 messages sent using loop 227 in 33 seconds
0 messages sent using loop 228 in 46 seconds
请问我做错了什么?我该如何修复它?
谢谢

完成后删除
,看看这是否有帮助。您需要等待所有这些代码执行,以使其具有一个
pushcount
值。祝你好运。在
完成后删除
,看看这是否有帮助。您需要等待所有这些代码执行,以使其具有一个
pushcount
值。祝你好运