Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在“查找”中复制引用文件的功能是什么-execbash-c";。詹金斯支持;复制参考文件';{}'&引用;\;做_Bash_Shell_Jenkins - Fatal编程技术网

在“查找”中复制引用文件的功能是什么-execbash-c";。詹金斯支持;复制参考文件';{}'&引用;\;做

在“查找”中复制引用文件的功能是什么-execbash-c";。詹金斯支持;复制参考文件';{}'&引用;\;做,bash,shell,jenkins,Bash,Shell,Jenkins,有人能解释一下下面的命令是做什么的吗 find /usr/share/jenkins/ref/ -type f -exec bash -c ". /usr/local/bin/jenkins-support; copy_reference_file '{}'" \; 在上面的示例中,copy\u reference\u file引用什么?此递归查找执行以下操作: 从/usr/share/jenkins/ref/及其所有子目录开始: 对于找到的每个常规文件(即不是符号链接、目录、设备等的文件)

有人能解释一下下面的命令是做什么的吗

find /usr/share/jenkins/ref/ -type f -exec bash -c ". /usr/local/bin/jenkins-support; copy_reference_file '{}'" \;

在上面的示例中,
copy\u reference\u file
引用什么?

此递归查找执行以下操作:

  • /usr/share/jenkins/ref/
    及其所有子目录开始:
  • 对于找到的每个常规文件(即不是符号链接、目录、设备等的文件):
  • 获取文件
    /usr/local/bin/jenkins support
    后(设置环境变量或以其他方式修改执行环境):
  • 对找到的每个文件运行命令
    copy\u reference\u file
我猜这可能会在实际运行构建之前复制构建运行的先决条件。谷歌充满了这个命令的失败,主要围绕Docker和jenkins运行时如何装载卷

在大多数UNIX中,任何问题都是大小写(上/下)、路径(文件所在的位置)或权限。你看到的任何问题都可能是后者


编辑:作为参考,我已将/usr/local/bin/jenkins support的相关内容粘贴到。看起来它主要围绕Jenkins组件,比如插件。这一行似乎来自。

它只是一个程序名。它将以找到的文件名作为参数来执行。我猜它是软件的一部分。它很可能是在
jenkins support
script.BTW中定义的一个函数,以不同的方式编写它将更高效、更安全(针对具有恶意名称的文件):
-exec bash-c'/usr/local/bin/jenkins支持;精氨酸;复制参考文件“$arg”;done'{}+
OP:因为这几乎可以肯定是您正在排除故障的一个已损坏的用例,所以问题的内容应该有一个集合([您正在尝试做什么],[您期望看到什么],[您实际得到什么])来帮助您的同胞。如果这个命令不太可能是可执行的二进制文件,但是在
jenkins-support
脚本中定义了一个shell函数——这就是为什么我将您的答案修改为更一般的,而不是潜在地暗示
jenkins-support
只是在修改环境变量。我一直想在詹金斯的资料中找到一个裁判,但在我的电话里不太顺利。顺便说一句,OP的原始代码实际上有一个主要的安全漏洞——请看我对这个问题的评论。对其功能的完整解释可能会涵盖该bug,或者至少指定一个修复(并说明它正在解释修复版本的功能)。:)我在其他地方看到过这条线;我敢打赌这是詹金斯的消息来源(在这种情况下,这将是对詹金斯的公关)。OP很可能遇到了DockerJenkins众多交互问题中的一个,并且正在尝试对他的自动构建进行故障排除。我一直有一种偏见(可以追溯到早期的Tomcat),即Java开发人员作为一个整体不能编写安全的shell脚本来拯救他们的生命(我在上一份工作中审计了一个相当流行的基于SSH的开源编排工具中的一系列安全漏洞,这些漏洞得到了加强——代码是显式编写的,用于转义字符串以确保安全地包含在shell命令行中)。如果这确实来自Jenkins upstream,那么这一特殊遭遇无助于消除它。