使用grep的Bash Script错误

时间:2015-09-16 00:45:57

标签: bash shell grep

我有以下脚本

var1=$(pwd)
echo $var1
if [ -e $var1 ]  
 then
  echo present directory exists
   if [ grep ^d\* | $(ls -al) ] 
    then
      echo these are the directories in $var1
   fi
else 
  echo failed
fi

运行此脚本会为以下输出提供错误

/home/user1/Desktop/workspace
present directory exists
ifelse.sh: 6: [: missing ]
ifelse.sh: 6: ifelse.sh: total: not found

请解释错误。 如果可能的话,提供一个资源,我可以完全了解Bash脚本错误。 Thanq

1 个答案:

答案 0 :(得分:1)

你的grep中有语法错误。

您必须插入(执行)grep和pipe,然后整体评估该命令的退出代码:

if [ $(grep ^d\* | $(ls -al)) ]