bash - 用于打开外壳、在外壳中运行命令并保持外壳运行的 Bash 脚本
问题描述
我正在尝试使用 bash 脚本自动执行这些步骤
运行命令以访问程序的 shell(Kubernetes pod 的 bash shell)
kubectl exec --stdin --tty hello-node-7567d9fdc9-zvz55 -- bash
在这个 shell 中,运行第二个命令(例如。
python
)root@hello-node-7567d9fdc9-zvz55:/# python Python 3.7.4 (default, Aug 13 2019, 15:17:50) [Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on linux Type "help", "copyright", "credits" or "license" for more information. >>>
保持 shell在前台打开/运行(因此用户可以立即将更多命令输入到步骤 2 中启动的 python shell)
我可以使用下面的脚本完成上述第一步。我们如何进行第二步和第三步?
#! /bin/bash
bash -c 'kubectl exec --stdin --tty hello-node-7567d9fdc9-zvz55 -- bash'
解决方案
对于第 2 步,您可以使用该nohup
命令运行一个进程,即使用户注销该进程也不会被杀死。之后,shell 会继续运行,让您执行第 3 步
推荐阅读
- string - Mongodb字符串数据类型太大
- xml - 使用 SAXParser 合并两个 xml 文件,方法是避免重复节点并在节点重复时添加新属性在 Java 代码中
- java - 有没有办法在命令行上显示 Java 的 sessionCacheSize 的当前大小?
- polymer - 如何指定 wasm source-base-map url (em++) 以使用聚合物服务 (组件)
- php - 使用 if 和 else 时如何在两个不同的表中插入值
- node.js - 节点 JS 子进程参数无效
- java - 已弃用的 BasicAuthorizationInterceptor 的替代品是什么?
- sql - 在数据库中更新特定列时在其他表中创建新行
- reactjs - 如何将绝对路径添加到 eslintrc?
- angular - Angular实现遗传解析器