短暂的任务,为什么这一行
sed -i '1s/^/#!\/usr\/bin\/env node\n/' tsunit.js;\
Run Code Online (Sandbox Code Playgroud)
给我这个错误
sed: 1: "tsunit.js": undefined label 'sunit.js'
Run Code Online (Sandbox Code Playgroud)
在Makefile中,如果相关的话.
我在Mac上.
根据Apple手册页sed,该-i选项采用必需参数指定备份文件的文件扩展名.因此,假设您使用的是Mac或类似设备,请sed相信您打算'1s/^/#!\/usr\/bin\/env node\n/'成为备份的文件扩展名.然后它将其解释tsunit.js为sed命令.领导者t告诉sed分支到标签sunit.js,当然,标签不存在.因此错误消息.
解决方案是:
sed -i '.bak' '1s/^/#!\/usr\/bin\/env node\n/' tsunit.js
Run Code Online (Sandbox Code Playgroud)
或者,如果你真的不想要备份:
sed -i '' '1s/^/#!\/usr\/bin\/env node\n/' tsunit.js
Run Code Online (Sandbox Code Playgroud)