【问题标题】:Alternative Console Command to 'sudo update-alternatives --set' for windows serverWindows 服务器的“sudo update-alternatives --set”的替代控制台命令
【发布时间】:2019-07-18 22:01:06
【问题描述】:

也许这个问题的标题并不完全准确,所以我将通过代码进行演示:

我们在 Linux 中有类似下面的代码:

sudo update-alternatives --set php /usr/bin/php$(phpVersion)

这使您能够使用 php 作为命令,如下所示:

php artisan migrate --seed

最近我在windows上需要这样的东西,

我已将该地址添加到环境变量中,因此这是一个经过测试的解决方案,没有回答,应该直接通过 cmd 完成

DevOps CMD 任务需要它

【问题讨论】:

  • 在此处查看我的答案以获取类似 sudo 的命令 stackoverflow.com/questions/54658352/…
  • 感谢您的留言,这也是一个有趣的概念,我从您的代码中了解到,它是通过清单进行的某种覆盖,对吧?不幸的是,这是 Unix 的东西,我在这里寻求从 Linux 到 Windows 命令的翻译。我有一个带有批处理文件的解决方案,但首先想看看其他人是否有更干净的方法来这样做。 (原因是 Windows Server 2012 R2 不支持批处理)
  • 提升有两种方式,将清单嵌入到exe文件中或右键单击并选择以管理员身份运行。
  • 这是它的姐妹一 - 这是用于启动非控制台程序提升。 pastebin.com/sECS6Pyw。 Windows 中没有 sudo 命令。你必须自己做。

标签: cmd command-line command-prompt devops command-line-arguments


【解决方案1】:

好的,我已经以另一种方式修复了该问题,该问题的原因是混淆了部署和构建阶段。换句话说,构建任务可以使用 Ubuntu VSTS 代理完成,部署任务需要 Windows。

但我认为也许为案件提供解决方案可能对其他人有所帮助:

windows中的这种情况可以通过cmd代码定义环境变量来解决。请以管理员身份运行命令提示符:

setx -m php "{PHP_ADDRESS_ON_MACHINE}"

所以这种方式应该可以解决任何与 php 之外的任何其他类似的问题,例如 mysql、mongodb、appcmd 或...

如果您在以管理员身份运行 cmd 时遇到任何问题,您可以做两件事:

1- 创建一个私有的 VSTS 代理并将你想要的东西定义为一个环境变量

2-看看下面的案例,真的很有帮助

Run Powershell or Command Prompt as administrator during Visual Studio Team Services build

我希望这也可以帮助这里的其他人

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-25
    • 2023-01-12
    • 2011-05-07
    相关资源
    最近更新 更多