首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >createUserJob运行多个命令

createUserJob运行多个命令
EN

Stack Overflow用户
提问于 2022-06-07 05:12:39
回答 1查看 99关注 0票数 0

我正在使用Apache气流的Helm图并使用createUserJob部分创建一个用户:

代码语言:javascript
运行
AI代码解释
复制
airflow:
  createUserJob:
    command: ~
    args:
      - "bash"
      - "-c"
      - |-
        exec \
        airflow {{ semverCompare ">=2.0.0" .Values.airflowVersion | ternary "users create" "create_user" }} "$@"
      - --
      - "-r"
      - "{{ .Values.webserver.defaultUser.role }}"
      - "-u"
      - "{{ .Values.webserver.defaultUser.username }}"
      - "-e"
      - "{{ .Values.webserver.defaultUser.email }}"
      - "-f"
      - "{{ .Values.webserver.defaultUser.firstName }}"
      - "-l"
      - "{{ .Values.webserver.defaultUser.lastName }}"
      - "-p"
      - "{{ .Values.webserver.defaultUser.password }}"

但是,如果存在,我想在创建用户之前删除该用户,但以下内容无法工作:

代码语言:javascript
运行
AI代码解释
复制
airflow:
  createUserJob:
    command: ~
    args:
      - "bash"
      - "-c"
      - |-
        exec \
        airflow users delete --username admin ;
        airflow {{ semverCompare ">=2.0.0" .Values.airflowVersion | ternary "users create" "create_user" }} "$@"
      - --
      - "-r"
      - "{{ .Values.webserver.defaultUser.role }}"
      - "-u"
      - "{{ .Values.webserver.defaultUser.username }}"
      - "-e"
      - "{{ .Values.webserver.defaultUser.email }}"
      - "-f"
      - "{{ .Values.webserver.defaultUser.firstName }}"
      - "-l"
      - "{{ .Values.webserver.defaultUser.lastName }}"
      - "-p"
      - "{{ .Values.webserver.defaultUser.password }}"

有办法在这里运行多个命令吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-07 16:10:56

删除单词exec

这里显示的语法将bash -c 'command' args作为主容器命令运行,其中args是在命令中展开的参数列表,如$0$1$2等。在命令字符串中,"$@"扩展到从$1开始的那些位置参数。这是正确的设置。

在命令字符串中,exec是一个特殊内置公用设施exec some_command将当前的shell替换为some_command,并且实际上结束了当前脚本。在容器上下文中,这对于控制哪个进程是主容器进程很有用,但是在这个短暂的脚本中,这并不是特别必要的。特别是,如果要使用exec命令,那么它必须是最后一个命令。

我可以把它的结构安排为:

代码语言:javascript
运行
AI代码解释
复制
command:
  - /bin/sh
  - -c
  - |-
    airflow users delete --username "{{ .Values.webserver.defaultUser.username }}";
    airflow users create "$@"
  # (no `exec` in this command string)
  - --
args:
  - "-r"
  - "{{ .Values.webserver.defaultUser.role }}"
  - "-et"
  - cetera

在这里,command:/args:拆分是一种人为的,但它使命令词是如何划分的稍微清楚了一些。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72531825

复制
相关文章
如何在多个 Linux 服务器上运行多个命令
如果你正在管理多台 Linux 服务器,并且你想在所有 Linux 服务器上运行多个命令,但你不知道该怎么做。不用担心,在这个简单的服务器管理指南[1]中,我们将向您展示如何在多个 Linux 服务器上同时运行多个命令。
数据科学工厂
2023/08/10
4150
如何在多个 Linux 服务器上运行多个命令
批量运行多个R脚本
如果把这些R代码文件一个个打开,然后一个个运行,工作量也不小,所以我们推荐一个技巧:
生信技能树
2022/07/26
2K0
批量运行多个R脚本
linux 下运行多个tomcat
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
流柯
2018/08/30
4.5K0
Scrapy:多个爬虫同时运行
在spiders目录的同级目录下创建一个commands目录,并在该目录中创建一个crawlall.py,将scrapy源代码里的commands文件夹里的crawl.py源码复制过来,只修改run()方法即可。(文件夹下面必须要有__init__文件)
新码农
2020/12/29
1.5K0
批量运行多个R脚本并打印运行状态
曾老师曾经有一篇推文《批量运行多个R脚本》,介绍了批量运行R脚本的思路,同时也提出了一些问题,今天就这个学徒作业,我们来探究一下。
小汪Waud
2023/02/20
9520
批量运行多个R脚本并打印运行状态
JavaScript运行命令
动人js一段时间,我认为事情仅仅是一个很肤浅的理解。是非常欠缺的。所以開始使用博客来对这一部分的知识做个慢慢的记录和积累。
全栈程序员站长
2022/07/06
7690
tomcat不能运行或共存多个项目
我在Tomcat下部署了两个项目,但是一个可以运行,另一个不可以,第一感觉是内存问题,给tomcat多分配了内存.但是没有作用. 原因是少了webAppRootKey这个参数,需要在各自的web.xml下添加 <context-param>        <param-name>webAppRootKey</param-name>        <param-value>socialmedia</param-value>   </context-param> 但是我添加后,只能运行一个,其他两个运行不了。原
冷冷
2018/02/08
1K0
pytest运行_pytest执行多个py文件
pytest 运行完用例之后会生成一个 .pytest_cache 的缓存文件夹,用于记录用例的ids和上一次失败的用例。 方便我们在运行用例的时候加上–lf 和 –ff 参数,快速运行上一次失败的用例。 –lf, –last-failed 只重新运行上次运行失败的用例(或如果没有失败的话会全部跑) –ff, –failed-first 运行所有测试,但首先运行上次运行失败的测试(这可能会重新测试,从而导致重复的fixture setup/teardown)
全栈程序员站长
2022/09/16
2K0
Linux配置多个Tomcat同时运行
Linux系统下怎样配置多个Tomcat同时运行呢,首先修改变量为第一个tomcat,然后修改第二个tomcat启动的脚本
星哥玩云
2022/06/30
2.3K0
运行命令、文件扩展名速查、Windows运行命令大全
CPL 文件扩展名有 三 种主要文件类型,可以使用 Microsoft Windows 打开(由 Microsoft Corporation发布)。 总共有 三 种与此格式相关的软件程序。 通常这些是一种 Windows Control Panel Item 格式。 这些文件分为 System Files、 Settings Files 和 CAD Files等类别。 在大多数情况下,这些文件将是 System Files。
忆想不到的晖
2020/07/15
2.6K0
运行命令、文件扩展名速查、Windows运行命令大全
电脑运行命令大全
I Teach You 我教你
2018/01/02
1.6K0
linux命令后台运行
1. command & : 后台运行,你关掉终端会停止运行 2. nohup command & : 后台运行,你关掉终端也会继续运行
RainMark
2019/09/10
9.9K0
常用运行命令大全
在使用电脑或者阅读文档过程中,总会遇到诸如在运行框中输入一些简短的命令如cmd、notepad、calc等快速跳出应用程序或系统配置等情况;它们是如何实现的呢,常用的运行命令又有哪些呢?
吾爱运维
2022/09/29
3.8K0
常用运行命令大全
DOS命令后台运行
在你批处理的相同目录下新建一个记事本,里面输入: set ws=wscript.createobject("wscript.shell") ws.run "win.bat /start",0 (其中win.bat为你自己的批处理名字,自己改) 然后把这个记事本保存为后缀名为.vbe的文件,到时候你只要运行这个vbe文件
gemron的空间
2019/11/04
2.2K0
node 的运行命令
For a detailed explanation on how things work, check out the guide and docs for vue-loader.
全栈程序员站长
2022/08/04
7780
Docker运行命令示例
Docker是一个平台,可让你将应用程序开发,测试和部署为可在几乎任何地方运行的可移植的自给自足的容器。 docker run命令从给定的镜像创建一个容器,并使用给定的命令启动该容器。这是开始使用Docker时应熟悉的第一批命令之一。 在本文中,我们将使用官方的Nginx镜像来展示运行Docker容器的各种方法。 Docker运行命令 docker run命令采用以下形式: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 从中创建容器的镜像名称是docker r
入门笔记
2022/06/02
1.2K0
docker启动运行命令
列出所有容器,其中 docker ps用于查看正在运行的容器,ps -a则用于查看所有容器
头皮阴都都
2020/05/13
2.8K0
python window下运行多个独立python脚本
2、写bat文件:Start.bat @echo off ::设置固定目录路径 set dir=D:\file\python\renewcookie.env\Scripts for /r "%dir%" %%a in (*.exe) do taskkill /f /im "%%~nxa" .env\Scripts\activate&&pythonw.exe renewodpcookie.pyw 3、写vbs文件:后台执行 Set ws = CreateObject("Wscript.Shell") WScript.sleep 5000 ws.run "cmd /c Start.bat",0
用户5760343
2019/08/06
1.6K0
Linux系统中同时运行多个comcat
vi /etc/profile   在其中加入   ##########first tomcat###########   CATALINA_BASE=/usr/local/tomcat   CATALINA_HOME=/usr/local/tomcat   TOMCAT_HOME=/usr/local/tomcat   export CATALINA_BASE CATALINA_HOME TOMCAT_HOME   ##########first tomcat############   ##########second tomcat##########   CATALINA_2_BASE=/usr/local/tomcat_2   CATALINA_2_HOME=/usr/local/tomcat_2   TOMCAT_2_HOME=/usr/local/tomcat_2   export CATALINA_2_BASE CATALINA_2_HOME TOMCAT_2_HOME   ##########second tomcat##########   保存退出。   #source /etc/profile   来到第二个tomcat的bin目录下   在catalina.sh中加入   export CATALINA_BASE=$CATALINA_2_BASE   export CATALINA_HOME=$CATALINA_2_HOME   最后把tomcat_2/conf下的server.xml打开 修改shudown端口与启动端口。 <Server port="8005" shutdown="SHUTDOWN"> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 这样就可以在linux下同时运行两个tomcat了。运行更多tomcat方法是一样的。 要点就是tomcat启动的时候会去查找tomat 的根目录,而这是通过查询系统环境变量CATALINA_HOME 以及 CATALINA_BASE 来做到的,于是我们只需要设置这两个变量即可。 现在我们把tomcat拷贝成2份,分别为 tomcat1 和 tomcat2,tomcat1 我们使用之前配置好的默认配置(CATALINA_HOME 以及 CATALINA_BASE 均指向 tomca1 目录),但tomcat2 我们不能再使用系统上配置的这两个变量了,那么我们就在 tomcat2的bin目录下面的 catalina.sh 临时修改设置 CATALINA_HOME 和 CATALINA_BASE 为tomcat2的根目录即可,如果再加tomcat 以此类推即可。
week
2018/08/24
1.8K0
linux用户命令,运行某个命令后,指定运行时间过后自动结束程序运行的timeout命令详解
这个命令在linux的各大发行版本中几乎都自带的,无需安装,终端输入命令即可运行。
子沐u
2022/03/15
10.8K1
linux用户命令,运行某个命令后,指定运行时间过后自动结束程序运行的timeout命令详解

相似问题

运行多个系统命令

30

运行多个powershell命令

12

运行ffmpeg多个命令

15

运行多个Run命令

21

运行多个zkCli命令

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档