我想要使用 python 代码创建一个压缩文件。但是,当我在 Makefile 中运行它时,它使用默认的 shell(破折号)。是个
bash$ dash
dash$ zip --exclude '.git/*' --exclude '*.swp' --exclude '*.pyc' --exclude 'tool' --exclude Makefile -r - . | cat <(echo '#!/usr/bin/env python') - > externaltool
dash: 1: Syntax error: "(" unexpected
dash$ exit
但是在 bash 中它运行得非常好
bash$ zip --exclude '.git/*' --exclude '*.swp' --exclude '*.pyc' --exclude 'externaltool' --exclude Makefile -r - . | cat <(echo '#!/usr/bin/env python') - > externaltool
adding: common/ (stored 0%)
adding: common/config.py (deflated 19%)
adding: common/cmdwrap.py (deflated 65%)
adding: common/extconfig.py (deflated 71%)
adding: common/commands.py (deflated 19%)
adding: common/__init__.py (stored 0%)
adding: __main__.py (deflated 45%)
有没有什么方法可以表达cat <(echo '#!/usr/bin/env python') - in dash ?
我知道我可以添加到 Makefile
SHELL := /bin/bash
但这只是解决方法,而不是永久解决方案。