错误 script_name.sh:第 13 行:[[0:找不到命令

error script_name.sh: line 13: [[0: command not found

早上好!试图执行此代码,但我在 if 语句上出错。 错误消息:错误 script_name.sh:第 6 行:[[0: 找不到命令 问题出在“if”语句上。 请帮忙

#!/bin/ksh
jour=$(date +%Y%m%d)
#Control if run is ok or not before sending mail
dir_resultFailure=/transfertCLINK/Share/RESULT_UAT/$jour/FichierFailure/
dir_resultFilteredOut=/transfertCLINK/Share/RESULT_UAT/$jour/FichierFilteredOut/
if [[ `ls $dir_resultFailure | wc -l` -eq 0 ]] &&  [[`ls $dir_resultFilteredOut | wc -l` -eq 0 ]]
then
        echo "repo is empty."
fi

您可以通过以下方式获取。

#!/bin/ksh
jour=$(date +%Y%m%d)
#Control if run is ok or not before sending mail
dir_resultFailure="/transfertCLINK/Share/RESULT_UAT/$jour/FichierFailure/"
dir_resultFilteredOut="/transfertCLINK/Share/RESULT_UAT/$jour/FichierFilteredOut/"
if [[ $(ls $dir_resultFailure | wc -l) -eq 0 ]] &&  [[ $(ls $dir_resultFilteredOut | wc -l) -eq 0 ]]
then
        echo "repo is empty."
fi

Improvments/Fixes 在 OP 的尝试中:

  1. 始终将变量值包装在 " 内。
  2. 现在不推荐使用反引号,请使用 $(....) 保存变量值。
  3. 您的 if 条件不正确,[[( 之间应该有空格。