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

如何修复bash脚本运行时出现redirection unexpected语法错误

错误原因

Syntax error: redirection unexpected 报错由脚本使用了非bash解释器执行导致:
你代码里用到的<<<属于bash专属的here-string语法,Ubuntu、Debian等发行版默认将/bin/sh软链接到dash,dash、posix sh等轻量化shell均不支持该语法,调用这类解释器运行脚本就会触发重定向语法错误。
常见的错误触发场景包括:

  • 脚本首行声明解释器为#!/bin/sh而非#!/bin/bash
  • 执行脚本时使用sh 脚本名.sh的命令,强制调用sh解释器
  • 未给脚本加执行权限,默认调用sh执行
修复方案
  • 方案1:指定bash解释器运行脚本
    执行命令改为bash 脚本名.sh即可直接解决。
  • 方案2:修改脚本解释器声明
    将脚本首行替换为#!/bin/bash,给脚本加执行权限chmod +x 脚本名.sh后,直接用./脚本名.sh执行即可。
  • 方案3:兼容posix sh写法(需要适配dash等轻量shell时使用)
    将here-string语法替换为管道写法,修改你的两行代码为:
    VERSION=$(echo "$BISMARK" | awk -F. '{print $2}')
    VERSION=$(echo "$BISMARK" | cut -d '.' -f2)
    
    修改后用sh或者bash执行都不会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 12:54:01