首页 新闻 会员 周边 捐助

shell 程序错误分析

0
悬赏园豆:5 [已解决问题] 解决于 2013-09-08 11:52
 1 #!/bin/bash
 2 echo -n "DisPlaying contens of $1"
 3 if ["${1##*.}"="tar"]
 4 then 
 5     echo "(uncompressed tar)"
 6     tar tvf $1
 7 elif [${1##*.}==gz]
 8 then
 9     echo "(gzip-compressed tar)"
10     tar tzvf $1
11 elif [${1##*.}==bz2]
12 then
13     echo "(bzip2-compressed tar)"
14     cat $1 |bzip2 -d |tar tvf-
15 fi
16 #end

3 行7行 11行说“【bz2==bz2】:未找到命令”,大侠们这是怎么回事啊?

光与存在的主页 光与存在 | 初学一级 | 园豆:133
提问于:2013-09-08 11:29
< >
分享
最佳答案
0

条件语句里面要加空格

例如:

if [ "${1##*.}"="tar" ]

否则会把中括号和里面的条件连在一起作为一个命令看待

还有就是判断两个字符串是否相等是使用一个等号

收获园豆:5
艾莫明 | 小虾三级 |园豆:565 | 2013-09-08 11:42

谢谢谢谢,搞定啦!

光与存在 | 园豆:133 (初学一级) | 2013-09-08 11:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册