Syntax error: "(" unexpected(linux系统)

版权声明:本文为CSDN博主「青峰祭坛」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u014470581/article/details/51493150

自己写了一个简单的shell脚本,在serve1上还能运行,转到serve2就不能运行了,报错如下:

然后就开始百度,看见了了转载的博客和一篇原创博客,转载博客的原地址没有在文中看见,原创博客的地址上面已经给出。原创博客分析了一些问题,而转载博客则更“傻瓜式”操作,在这里感谢两位大佬:


原创博客:https://blog.csdn.net/u014470581/article/details/51493150

昨天更新了Virtualmin的系统识别部分,目的是让它能支持Debian系统下的一键安装和优化,代码修改了差不多,将VPS重新安装为Debian,通过sh ./virtualmin.sh执行代码就报“Syntax error: “(” unexpected”错误,通过bash ./virtualmin.sh执行就没问题。几经查找语法,没有问题,后来在网上找到问题原因:
        代码对于标准bash而言没有错,因为Ubuntu/Debian为了加快开机速度,用dash代替了传统的bash,是dash在捣鬼,解决方法就是取消dash。

sudo dpkg-reconfigure dash

        在选择项中选No,搞定了!


转载博客:https://blog.csdn.net/weixin_33785108/article/details/86048044

 

问题:

在MAC上写了一段shell脚本,放到Ubuntu上运行总是报下面这个错误,单步调试都是对的,就是直接运行会报错。

bixiaopeng@ubuntu:~/package$ sh package.sh
package.sh: 8: package.sh: Syntax error: "(" unexpected

原因:

兼容性问题,因为linux将sh默认指向了dash,而不是bash

解决:

  1. #在root下面执行 dpkg-reconfigure dash,选择no

  2. bixiaopeng@ubuntu:~/package$ su

  3. Password:

  4. root@ubuntu:/home/bixiaopeng/package# dpkg-reconfigure dash


 

再次执行脚本就OK了

  • 48
    点赞
  • 102
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
"syntax error: unexpected end of file" 是一个常见的错误信息,它表示在脚本的末尾缺少了某些关键内容或语法错误导致脚本无法正常结束。这种错误通常有以下几个可能的原因: 1. 文件格式问题:如果你在Windows系统上编写脚本,并在Linux环境下执行,可能会出现文件格式不兼容的情况。在Windows系统上编辑的脚本默认使用DOS格式,而在Linux系统上执行脚本需要使用UNIX格式。你可以使用文本编辑器(如vi)将文件格式转换为UNIX格式,方法是输入命令":set ff=unix",然后保存并执行脚本。 2. 脚本语法错误:脚本中可能存在语法错误,导致解析器无法正确执行脚本。你需要检查脚本的末尾是否有正确的语法结构,比如函数、循环或条件语句是否缺少了结束符号(如"}")。确保脚本的语法是正确的,并且每个语法结构都有相应的结束符号。 3. 文件传输问题:如果你通过FTP将脚本从本地电脑上传到CentOS 7服务器上,并且在执行时出现了该错误,可能是由于文件传输过程中导致了格式损坏。你可以尝试重新传输脚本文件,并确保传输过程中没有出现任何错误或中断。 总之,当出现"syntax error: unexpected end of file" 错误时,你应该首先检查文件格式、脚本语法以及文件传输的正确性。如果仍然无法解决问题,你可以提供更具体的错误信息以便更好地帮助你解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [脚本执行报错 syntax error: unexpected end of file](https://blog.csdn.net/qq_34039018/article/details/123691326)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [“syntax error: unexpected end of file”解决方案](https://blog.csdn.net/GentleLin/article/details/90516344)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [CentOS7运行.sh脚本提示syntax error: unexpected end of file的解决方法](https://download.csdn.net/download/weixin_38706007/14888915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值