You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行脚本时提示unexpected token >'错误,该如何解决?

解决脚本报错“unexpected token >'”的方案

Hey,这个错误我见得挺多的,大概率是脚本里的引号、重定向符号或者特殊字符搞的鬼,给你几个常见的排查和修复方向:

  • 引号不匹配或嵌套错误
    这是最常见的原因——你可能在字符串里混用了单双引号,或者某个引号没闭合。比如下面这段代码就会触发错误:

    echo 'I'm using a single quote here > output.txt
    

    这里的'I'm会让shell误以为第一个单引号已经结束,后面的内容就彻底乱了。修复方法很简单:要么用转义符\转义内部的引号,要么改用双引号包裹整个字符串:

    echo 'I\'m using a single quote here' > output.txt
    # 或者更简洁的写法
    echo "I'm using a single quote here" > output.txt
    
  • 重定向符号的语法错误
    有时候你可能不小心把重定向符号>放进了引号里,或者符号前后的格式不对。比如:

    echo "Hello world"' > output.txt
    

    这里的单引号把>也包含进去了,shell会把整个' > output.txt当成字符串的一部分,而不是重定向指令,自然会解析失败。要确保重定向符号在引号外面,前后加不加空格都可以,但加空格会更清晰:

    echo "Hello world" > output.txt
    
  • 复制粘贴引入了特殊字符
    如果你的脚本是从网页、文档或者其他地方复制过来的,很可能带有一些看不见的特殊字符——比如全角的>、奇怪的智能引号,这些字符shell根本识别不了。解决办法:

    • 打开你的文本编辑器(比如VS Code、Vim),开启“显示不可见字符”的功能,把这些奇怪的字符删掉
    • 手动重新敲一遍出错的那行代码,彻底避免复制带来的问题
  • 脚本解释器指定错误
    如果是shell脚本,开头的#!行指定的解释器和你实际运行的shell不匹配,也可能出现这种奇怪的解析错误。比如你写了#!/bin/sh但用了bash独有的语法,或者反过来。确保开头的解释器正确,比如:

    #!/bin/bash
    

    然后用bash your_script.sh运行,或者给脚本加执行权限后直接运行。

内容的提问来源于stack exchange,提问作者Krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:43:12