我有以下脚本
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
答案 0 :(得分:1)
你的grep中有语法错误。
您必须插入(执行)grep和pipe,然后整体评估该命令的退出代码:
if [ $(grep ^d\* | $(ls -al)) ]