Codenvy 中命令的正确格式
Correct format for a command in Codenvy
Codenvy 是一个 IDE,它会在您工作的环境进入休眠状态时删除 gitignore 中的所有文件。所以每次我开始在 Codenvy 工作时,我都需要把这些文件放回去。这很麻烦,因此我试图为此添加在 Codenvy 中称为命令(脚本)的内容。
我有以下内容:
1. cp vars-user-portal/variables.env user-portal/variables.env
2.
3. cp vars-user-portal/serviceAccountKey.json user-portal/serviceAccountKey.json
4.
5. cp vars-user-portal/.env user-portal/client/.env
6.
7. cd user-portal && npm install
8.
9. cd user-portal/client && npm install
10.
11. xdg-open user-portal/client/.env
当我 运行 这个命令时,我得到输出:
/bin/bash: line 1: $'\r': command not found
/bin/bash: line 3: $'\r': command not found
/bin/bash: line 5: $'\r': command not found
Usage: npm <command>
...
Did you mean one of these?
install
uninstall
unstar
/bin/bash: line 7: $'\r': command not found
Usage: npm <command>
...
/bin/bash: line 9: $'\r': command not found
xdg-open: file '.env' does not exist
我的印象是,当一行中有空格时,它会将其视为单独的命令。知道如何让这个脚本工作吗?
您的文件很可能有 \r\n
行结尾,应更改为 \n
行结尾。
使用命令行 sed
实用程序转换文件的简单方法如下。
sed -i 's/\r\n/\n/g' "./path/to/file"
(未测试)。
一般来说,Windows 应用程序在文本文件中以 'carriage return' 和 'line feed' 字符终止行,通常写为转义码 \r\n
.
另一方面,类 Unix 系统仅使用换行符或 new 作为行尾终止行,Unix 仅使用 'line feed' 字符 \n
.
参见:http://www.cs.toronto.edu/~krueger/csc209h/tut/line-endings.html
注:
另外提一下,如果脚本是可执行的,您应该始终在脚本的顶部添加一个 shebang,否则如果它是单独的来源,则不要添加。 #!/bin/bash
用于 bash 脚本,#!/bin/sh
用于可移植或 POSIX 兼容的脚本。
Codenvy 是一个 IDE,它会在您工作的环境进入休眠状态时删除 gitignore 中的所有文件。所以每次我开始在 Codenvy 工作时,我都需要把这些文件放回去。这很麻烦,因此我试图为此添加在 Codenvy 中称为命令(脚本)的内容。
我有以下内容:
1. cp vars-user-portal/variables.env user-portal/variables.env
2.
3. cp vars-user-portal/serviceAccountKey.json user-portal/serviceAccountKey.json
4.
5. cp vars-user-portal/.env user-portal/client/.env
6.
7. cd user-portal && npm install
8.
9. cd user-portal/client && npm install
10.
11. xdg-open user-portal/client/.env
当我 运行 这个命令时,我得到输出:
/bin/bash: line 1: $'\r': command not found
/bin/bash: line 3: $'\r': command not found
/bin/bash: line 5: $'\r': command not found
Usage: npm <command>
...
Did you mean one of these?
install
uninstall
unstar
/bin/bash: line 7: $'\r': command not found
Usage: npm <command>
...
/bin/bash: line 9: $'\r': command not found
xdg-open: file '.env' does not exist
我的印象是,当一行中有空格时,它会将其视为单独的命令。知道如何让这个脚本工作吗?
您的文件很可能有 \r\n
行结尾,应更改为 \n
行结尾。
使用命令行 sed
实用程序转换文件的简单方法如下。
sed -i 's/\r\n/\n/g' "./path/to/file"
(未测试)。
一般来说,Windows 应用程序在文本文件中以 'carriage return' 和 'line feed' 字符终止行,通常写为转义码 \r\n
.
另一方面,类 Unix 系统仅使用换行符或 new 作为行尾终止行,Unix 仅使用 'line feed' 字符 \n
.
参见:http://www.cs.toronto.edu/~krueger/csc209h/tut/line-endings.html
注:
另外提一下,如果脚本是可执行的,您应该始终在脚本的顶部添加一个 shebang,否则如果它是单独的来源,则不要添加。 #!/bin/bash
用于 bash 脚本,#!/bin/sh
用于可移植或 POSIX 兼容的脚本。