尝试按照此处的示例添加启动脚本:https://cloud.google.com/compute/docs/startupscript
实例创建成功,但脚本无法执行。控制台显示以下输出:
Jul 28 15:54:39 testclient-pbx startup-script: INFO Starting startup scripts.
Jul 28 15:54:39 testclient-pbx startup-script: INFO Found startup-script in metadata.
Jul 28 15:54:39 hostname startup-script: INFO startup-script: /bin/bash: /startup-aVpN6i/tmpVVdFyB: /bin/bash^M: bad interpreter: No such file or directory
Jul 28 15:54:39 hostname startup-script: INFO startup-script: Return code 126.
Jul 28 15:54:39 hostname startup-script: INFO Finished running startup scripts.
我实际上正在尝试运行更复杂的脚本,但收到相同的错误。使用debian-cloud/debian-9
图像。
答案1
我在 Win 平台上使用 VScode,如上所示,提示文件未找到。我必须将 VScode 中的 CRLF 更改为 LF“Unix”样式,脚本现在就可以正确运行了!在 VScode 中,只需单击右下角的 CRLF 并更改为 LF。
答案2
看起来你正在传递一个隐藏符号 ^M
我建议您使用 vim 检查文件并设置以下命令来显示隐藏的字符:
:set list