请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Syntax error: word unexpected (expecting "do")

老师我自己写了一个脚本,第一项的for就出问题了 一直报错说让我写 do 我写的确实是do啊

#! /bin/bash
curPath=`pwd`
echo '--------------------begin------------------------------'
for item in $curPath/*.tar.gz
do
    tar zxvf $item
done
下面还有许多代码.......

这个第六行的 do一直报错 说这个不是do 我哭了,然后把这个部分提出来

#! /bin/bash
curPath=`pwd`
echo '---------------------begin untar-------------------------'
for item in $curPath/*.tar.gz
do
    tar zxvf $item
done

这么写就是对的 我也不知道是为啥了 代码是一模一样的

正在回答

1回答

这部分是没问题的,说明有问题的在后面,你把你的整个脚本给我发出来……有时候提示不一定就在哪一行,这种情况一般是后面的某个地方少些一些内容导致的

0 回复 有任何疑惑可以回复我~
  • 提问者 CherryJ #1
    老师 后面的肯定是没问题的 后面都删了这个也不好使,我的解决方法是把后面的代码拿出来放到新文件里就好使了,不知道是为什么,然后我用sh执行数组会报错不识别'(' ,然后百度用bash就好使了,老师能不能讲一下   ./   sh    bash执行的 的区别呢  有点蒙了
    回复 有任何疑惑可以回复我~ 2020-04-28 17:14:18
  • 酷田 回复 提问者 CherryJ #2
    你使用的是什么系统?不是CentOs吧…….当你使用bash执行的时候,这个就是使用bash去解释执行,但是当你使用./的时候,不一定,这个时候系统会去找你脚本第一行写的#/bin/sh去执行
    回复 有任何疑惑可以回复我~ 2020-04-28 17:16:26
  • 提问者 CherryJ 回复 酷田 #3
    用的是docker里的ubuntu16.04. 懂了谢谢老师了,shell真复杂
    回复 有任何疑惑可以回复我~ 2020-04-28 17:28:14
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信