value1=`$( gunzip -c $Path | grep -i 'https://onlineservices.ubs.com/staticfiles/planning/documents/knowledge-centerWAC.html' | awk -F" " '{print $3}' | sort | uniq | wc -l )`
ERROR: ./knowledgecenter.sh: line 20: 0: command not found
值未分配给 VALUE1
答案1
value=`$(gunzip … | wc -l)`
您正在使用一个命令替换立即在另一个命令替换中。该命令gunzip … | wc -l
打印 0(这意味着 grep 没有找到任何内容),因此$(gunzip … | wc -l)
扩展为0
,并`$(gunzip … | wc -l)`
运行命令0
。
修复显然是使用命令替换,而不是命令替换的命令替换。
value=$(gunzip … | wc -l)
答案2
据推测,输出为 0,并且变量 ( ) 声明中wc -l
存在空格。=
value1
=
声明变量时周围不能有任何空格:
value1="$(...)"