mv命令在dockerfile和本地linux中的行为方式的差异

鲁斯塔姆·伊萨贝科夫

我正在查看以下具有以下命令的jboss / wildfly docker文件

mv $HOME/wildfly-$WILDFLY_VERSION $JBOSS_HOME

其中$WILDFLY_VERSION=17.0.1.Final$JBOSS_HOME=/opt/jboss/wildfly.因此,结果命令转换为:

mv $HOME/wildfly-17.0.1.Final /opt/jboss/wildfly

在文件的后面,我们以如下方式启动wildfly:

CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0"]

因此,我假设mv上面命令将$HOME/wildfly-17.0.1.Final目录的内容放入/opt/jboss/wildfly目录中。

但是,如果我尝试在本地计算机(ubuntu 18.04)上从dockerfile重新创建步骤,则会mv $HOME/wildfly-17.0.1.Final /opt/jboss/wildfly得到以下目录结构/opt/jboss/wildfly/wildfly-17.0.1.Final也就是说,wildfly-17.0.1.Final目录本身被复制到中/opt/jboss/wildfly,而不是其内容中。有人可以解释一下为什么我在本地得到这个结果吗?

Виктова

$JBOSS_HOME 路径不存在。

mv命令实际上是用$HOME/wildfly-17.0.1.Final文件夹替换不存在的目录话虽这么说,的内容$HOME/wildfly-17.0.1.Final/将移动到$JBOSS_HOME将文件夹的名称从“ wildfly-17.0.1.Final”替换为“ wildfly”。

简单的例子如下:

创建一个空目录并触摸其中的文件,然后尝试执行以下操作:

mv dir /var/lib/non_existing_folder

dir将原样移动并替换为“ non_existing_folder”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

UNIX和Linux中的ls -ltr命令-行为

脚本和命令行之间的glob行为差异

cp和mv中的Linux通配符用法

差异命令在shell脚本中的if语句上的行为

Mac和Linux上C ++ 11异步行为的差异

Docker在Dockerfile中执行cp或mv命令,但更改未显示在映像中

使用Java的Linux的mv命令

Ruby中\ w和vs [[:alpha:]]之间的Unicode行为差异

Python 中类和函数作用域之间的行为差异

来自 docker-compose 命令的行为与在 Dockerfile 中运行的行为不同

在Windows和Linux上的Dockerfile中使用RUN命令

Dockerfile和dpkg命令

使用mv和regex重命名linux中的文件

在MV命令中是否有引用第一个参数路径的快捷方式?

是什么原因导致Windows和Linux之间的malloc()和free()行为出现差异?

在Dockerfile中运行Linux命令引发错误

awk 在我的本地系统和 RedHat 6.5 中的行为不同

查找命令中ctime 1和ctime +1之间的差异

-Exec在查找命令中缺少参数(\;和+之间的差异)

Dockerfile中的“ COPY”和“ ADD”命令有什么区别?

dockerfile 中的奇怪命令

linux命令在脚本中具有不同的行为

我的代码在本地和Codepen或plunker中执行的方式不同

mv *是具有2个或更多文件的目录上的破坏性命令吗?还有哪些其他Linux命令具有类似的行为?

从终端运行和用作快捷方式时显示不同行为的命令

命令在终端或程序(Python和C ++)中给出不同的行为

什么是`。命令的含义以及它在Linux中的工作方式?

/之间的差异复制内容文件夹。和/ *在Linux中

代码中Linux时间和性能时钟之间的差异