【问题标题】:EXPORT command not found未找到导出命令
【发布时间】: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


【解决方案1】:

正确的命令语法是exportbash 也有可能不在您认为的位置,请使用 env 找到它 - 就像

#!/usr/bin/env bash
export VERSION=1
export BUILD=2

【讨论】:

  • shebang 错误不会影响源文件而不是执行文件。
猜你喜欢
  • 1970-01-01
  • 2017-01-21
  • 1970-01-01
  • 2015-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
  • 2012-10-31
相关资源
最近更新 更多