无法在shell脚本中使用通配符

时间:2012-05-19 07:05:08

标签: bash shell wildcard ls

我挣扎了大约3天

D1="`ls $g???_???_?????$DATE1`"" ` |`""` wc -l`"
       if [ $D1 -eq "0" ]

仍然以语法错误结束。 bash告诉的最后一个语法错误是第1行的语法错误:`|'意想不到

你能帮帮我吗?

2 个答案:

答案 0 :(得分:2)

我不确定你想要达到什么目标。但是,管道符号是替换命令的一部分,而不是替换命令。

D1="`ls $g???_???_?????$DATE1 | wc -l`"
if [ $D1 -eq 0 ]; then
    ...
fi

答案 1 :(得分:0)

这是最终奏效的:

D1=`ls 'a_costant_string'"$DATE1"????????"$g"* | sort -u | wc -l`

我在这里提到它是因为我花了很多时间才找到正常工作的组合,这实际上是正确答案。