macOS环境下bash脚本使用date格式化赋值报SyntaxError错误如何解决
问题根因
你遇到的是解释器匹配错误:抛出的SyntaxError是Python专属的语法报错,说明你误将bash脚本传给了Python解释器运行,Python无法识别bash的变量赋值语法。
常见错误操作
- 执行时错误使用了
python3 你的脚本名.sh这类命令,强行用Python运行bash脚本 - 未给脚本配置可执行权限且执行时未手动指定bash解释器
修复方案
方法1:手动指定bash解释器执行
直接运行如下命令即可:
bash 你的脚本名.sh
方法2:配置脚本直接执行权限
先给脚本添加可执行权限:
chmod +x 你的脚本名.sh
之后就可以直接通过./你的脚本名.sh运行,系统会自动识别脚本首行的#!/bin/bash声明,调用bash解释器执行。
可选优化(非必须)
bash中更推荐使用$()替代反引号做命令替换,可读性更高且支持嵌套,同时给变量扩展加双引号避免潜在的空格问题,优化后的脚本如下:
#!/bin/bash RUN_DATE=$(date +%Y_%m_%d) python3 /path/to/some/builder.py --date="$RUN_DATE"
内容的提问来源于stack exchange,提问作者sir_chocolate_soup
相关产品推荐
相关产品推荐

