为什么函数变量在函数内的命令替换中不起作用?
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"))"
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"))"