2012-05-19 136 views
0

這是3天左右,我與無法在shell腳本

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

掙扎,但仍然是語法錯誤結束使用通配符。 bash告訴的最後一個語法錯誤是第1行的語法錯誤:`|'意想不到的

你能幫我嗎?

+0

請參閱[BashFAQ/050](http://mywiki.wooledge.org/BashFAQ/050)。不要使用那樣的'ls'。計算文件:'array =(「$ g」??? _ ??? _ ?????「$ DATE1」);如果(($ {#a [@]} == 0))' –

回答

0

這是最後的工作:

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

我在這裏meantion它,因爲我花了很多時間來找到正確工作相結合,這實際上是正確的答案。

2

我不確定你想實現什麼。但是,管道符號是替代命令的一部分,而不是它自己的替換命令。

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