Bash' local'变量给出奇怪的行为

时间:2017-06-13 17:38:10

标签: bash

我最初编写了一些内容来通过wget获取文件,如下所示:

local wget_output=$(wget -O "${TEMP_FILE}"  "$REQUEST_URL" 2>&1)
local wget_success=$?
if [[ $wget_success -eq 0 ]]; then

以便'然后'只有在wget成功时才会执行子句。但是,它每次都执行(即,当请求的文件不在服务器上时。)此代码在功能上正常工作:

wget_output=$(wget -O "${TEMP_FILE}"  "$REQUEST_URL" 2>&1)
local wget_success=$?
if [[ $wget_success -eq 0 ]]; then

唯一的区别是删除了第一个local。任何人都可以解释原因吗?

0 个答案:

没有答案