【问题标题】:Trying to access JAR FILE inside $(System.DefaultWorkingDirectory)\$(Release.PrimaryArtifactSourceAlias)尝试访问 $(System.DefaultWorkingDirectory)\$(Release.PrimaryArtifactSourceAlias) 中的 JAR 文件
【发布时间】:2021-06-17 09:35:46
【问题描述】:

试图在 linux bash 文件中访问路径 sudo chmod 777 $(System.DefaultWorkingDirectory)$(Release.PrimaryArtifactSourceAlias)/**.jar 中的 jar 文件 在 Azure 中将命令作为内联传递时,它工作得非常好,但作为文件访问它时

 sudo chmod 777 $SYSTEM_DEFAULTWORKINGDIRECTORY/\$RELEASE_PRIMARAYARTIFACTSOURCEALIAS)\/**.jar

但是**无法访问? 在 azure DeVops bash 文件中访问 jar 的正确语法是什么

【问题讨论】:

  • ls -la 命令在 bash 脚本文件中也不起作用,但是当我在 Azure devops bash 任务中的内联命令中给出它时,同样的工作
  • $(System.DefaultWorkingDirectory)$(Release.PrimaryArtifactSourceAlias) 看起来很奇怪,至少可以这么说。如果这应该是 bash 脚本的一部分,我需要查看该表达式出现的整行。
  • 不要在评论中发布相关代码。用它更新你的问题。我在您的问题中没有看到sudo。并在您的问题中将代码格式化为code
  • 请重新检查我的问题

标签: linux bash unix azure-devops


【解决方案1】:

您的命令包含不平衡的括号(右括号,但没有相应的左括号)。

通过在$RELEASE_PRIMARAYARTIFACTSOURCEALIAS 前面使用\,您可以指示shell替换变量。

** 不是有效的 bash glob 字符,除非您明确打开此功能:

shopt -s globstar

【讨论】:

  • 我是 bash 脚本的新手,不知道 shopt -s globstar 。您能否详细说明如何在 azure devops bash 任务中启用它。
  • 我不知道天蓝色。我会做什么(在 azure 中也应该可以)来启动一个 bash 脚本,在这个脚本中,你可以做任何你想做的事情——包括设置 globstar 选项。这也使调试更容易,因为您将 bash 任务与将其嵌入到 azure 中分离。另一种可能性是使用 zsh 而不是 bash,它默认启用 **
猜你喜欢
  • 2017-02-09
  • 2013-04-25
  • 2011-07-07
  • 2019-12-04
  • 2013-12-13
  • 1970-01-01
  • 2017-03-10
  • 2012-01-05
  • 1970-01-01
相关资源
最近更新 更多