【发布时间】:2017-06-17 23:30:15
【问题描述】:
我有一个简单的 shell 文件,我想从中获取变量,文件的内容如下
#!/bin/bash
VERSION=1
BUILD=2
我使用 scp 将文件从 Windows 计算机传送到 linux 计算机。
当我尝试source ./version.sh 时,出现以下错误
./version.sh:第 1 行:导出:找不到命令
./version.sh:第 2 行:导出:找不到命令
如果我只是触摸一个新的 version.sh 并手动写入文件并获取文件,那么它就可以工作。
为什么当我 scp 文件并运行源代码时它不起作用?
【问题讨论】:
-
会不会,如果您在 Windows 上编写脚本,它具有 CRLF 行尾,而当您在 Linux 上编写它时,它具有 bash 想要的正确的仅 LF 行尾? ;)
-
@Cobra_Fast 我尝试在 linux 计算机中的文件上运行 dos2unix,然后获取它,但它仍然失败
-
好吧,然后打开您在 Linux 上复制的文件,并确保其中确实有您在此处发布的代码。这几乎听起来就像你在里面写了
EXPORT。 -
内部 bash 命令是
export,而不是EXPORT
标签: linux windows bash shell unix