任何变量赋值在 docker 内都是空的

任何变量赋值在 docker 内都是空的

我有一个很长的脚本,它将被复制到 docker 映像中Dockerfile并在那里执行。

我正在使用 bash。既在我的本地机器中,又在我的 docker 中。

我运行此代码以确保bash在 docker 构建过程中执行我的脚本:

RUN bash /path_to_script

它有效。但有一个非常烦人的问题我无法解决。

我无法在 bash 中创建变量。他们都是空的。我需要在脚本中重复很多代码。

例如,假设有一个path变量,我想从中获取目录名称。

export path='/some/path/to/a/dir_or_file'
export dirName=$(basename $path) # this becomes empty
echo $dirName # prints empty
echo $(basename $path) # prints dir_or_file

这意味着无论我需要什么,$(basename $path)我都应该复制/粘贴它。

我被困在这一点上,不知道如何调试它。

相关内容