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'

求高手解答,并给出解决方案,谢谢
展开
 我来答
zbing0203
2012-08-20
知道答主
回答量:28
采纳率:0%
帮助的人:21.6万
展开全部
首先 ls 没有 !这种用法 楼主你能确定在终端里直接输入可以用吗 反正我这里的bash是不支持的。
如果要实现楼主的功能:
可以用:
ls | grep -v '\.' | xargs rm
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jingruiking
2012-08-20 · TA获得超过125个赞
知道小有建树答主
回答量:88
采纳率:83%
帮助的人:48.6万
展开全部
ls !(*.*)|xargs rm

写成
`ls !(*.*)|xargs rm` 注: 符号 ` 是和~同键的那个字符
更多追问追答
追问
不对,我试了
追答
再试一下 $(ls !(*.*)|xargs rm)
不过说实话,我的shell 也不支持 ls ! 这个命令

ls |grep -v "\." 我认为更好一些
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
缨络红绫
2012-08-20 · TA获得超过120个赞
知道答主
回答量:57
采纳率:0%
帮助的人:32.2万
展开全部
我想问下你 ls !(*.*)|xargs rm 你这个感叹号可以这么用吗
追问
取反,必须有用。
目的在于,删除 “没有后缀” 的文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
焦虑哥30岁
2012-08-20 · TA获得超过119个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:55.4万
展开全部
你确定这样可以吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dcwlcy
2012-08-20 · TA获得超过834个赞
知道小有建树答主
回答量:477
采纳率:0%
帮助的人:409万
展开全部
为什么,我这!不认呀,!可以去反吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式