shell脚本总是错误
ls!(*.*)|xargsrm(删除没有后缀的文件)这一命令在终端里直接输入是可以执行的但是,写入脚本中,再嵌套到if语句里,却会出错代码为:read-p"reada:...
ls !(*.*) | xargs rm(删除没有后缀的文件) 这一命令在终端里直接输入是可以执行的
但是,写入脚本中,再嵌套到if语句里,却会出错
代码为:
read -p "read a: " a
if [ "$a" == "remove" ];then
ls !(*.*)|xargs rm
if [ "$?" == "0" ];then
echo "remove success!"
fi
fi
出错信息:
./testsh.sh: line 3: 在未预料的“(”附近出现语法错误
./testsh.sh: line 3: `ls !(*.*)|xargs rm'
求高手解答,并给出解决方案,谢谢 展开
但是,写入脚本中,再嵌套到if语句里,却会出错
代码为:
read -p "read a: " a
if [ "$a" == "remove" ];then
ls !(*.*)|xargs rm
if [ "$?" == "0" ];then
echo "remove success!"
fi
fi
出错信息:
./testsh.sh: line 3: 在未预料的“(”附近出现语法错误
./testsh.sh: line 3: `ls !(*.*)|xargs rm'
求高手解答,并给出解决方案,谢谢 展开
5个回答
展开全部
首先 ls 没有 !这种用法 楼主你能确定在终端里直接输入可以用吗 反正我这里的bash是不支持的。
如果要实现楼主的功能:
可以用:
ls | grep -v '\.' | xargs rm
如果要实现楼主的功能:
可以用:
ls | grep -v '\.' | xargs rm
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ls !(*.*)|xargs rm
写成
`ls !(*.*)|xargs rm` 注: 符号 ` 是和~同键的那个字符
写成
`ls !(*.*)|xargs rm` 注: 符号 ` 是和~同键的那个字符
更多追问追答
追问
不对,我试了
追答
再试一下 $(ls !(*.*)|xargs rm)
不过说实话,我的shell 也不支持 ls ! 这个命令
ls |grep -v "\." 我认为更好一些
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我想问下你 ls !(*.*)|xargs rm 你这个感叹号可以这么用吗
追问
取反,必须有用。
目的在于,删除 “没有后缀” 的文件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定这样可以吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么,我这!不认呀,!可以去反吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询