为什么函数变量在函数内的命令替换中不起作用?

why function variable not working in command substitution inside a function?

im 运行 这个在 bashrc 文件里

function simplefunc () {
    output=$(ls -1 "$HOME")
    linecount=$(${output} | wc -l)

    echo "${linecount}"
    echo "${output}"
}

收到此错误

Desktop: command not found
0
Desktop
Documents
Downloads
Music
Pictures
Public
snap
SoftMaker
Templates
venv
Videos

我也试过这些

在变量前加上“本地”或

# linecount=$(output | wc -l)
# echo "$(${output} | wc -l)"

我认为你应该将第三行改为:

linecount="$(echo "${output}" | wc -l)"
# OR alternatvely:
# linecount="$(wc -l < <(echo "$output"))"