首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复取消的编辑,在shell中不做任何更改

如何修复取消的编辑,在shell中不做任何更改
EN

Stack Overflow用户
提问于 2019-06-28 17:40:39
回答 4查看 13.3K关注 0票数 22

我跑

代码语言:javascript
运行
复制
kubectl edit deployment

要更改我的一个文件的版本(这个命令在我的文本编辑器中打开一个临时文件,然后我通常编辑和关闭这个临时文件),甚至在我在我的文本编辑器中关闭这个临时文件之前,我可以在bash中看到下面的注释。

代码语言:javascript
运行
复制
Edit cancelled, no changes made.

在我安装fish之前,它是可以的,我试图切换到bash,但是它也没有帮助。

我怎么才能修好它?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-06-28 17:57:38

像这样的事情很可能是因为它打开了一个分叉而不是留下的编辑器。

这意味着您需要将$EDITOR设置为等待的编辑器。例如,nanovimemacs应该可以工作,例如,如果您使用崇高的文本,则必须使用subl -w显式地告诉它等待。

目前还不清楚你在运行哪个外壳。如果是bash,运行export EDITOR="subl -w",在fish中运行set -gx EDITOR subl -w (如果使用fish <3.0,则运行"subl -w" )。

票数 22
EN

Stack Overflow用户

发布于 2019-07-01 16:29:31

@faho提供的充分答案的改进。

使用$EDITOR变量的方法实现了目标,但更改了默认的命令行编辑器。这可能会影响依赖于此设置的其他程序(例如,crontab、ed限额)。

最好依靠$KUBE_EDITOR变量。例如,对于一次性使用,您可以尝试:

代码语言:javascript
运行
复制
KUBE_EDITOR="nano" kubectl edit deploy/hello-world

(请参阅编辑资源)

票数 5
EN

Stack Overflow用户

发布于 2021-01-29 12:08:43

使用vim时,当您尝试保存时,当您退出编辑器时,它会保存在/tmp/路径中指定的已编辑副本以及错误消息。

这相当于使用get资源,在文本编辑器中编辑它,然后使用更新的版本应用资源:

代码语言:javascript
运行
复制
kubectl get deployment my-nginx -o yaml > /tmp/nginx.yaml
vim /tmp/nginx.yaml


kubectl apply -f /tmp/nginx.yaml
deployment.apps/my-nginx configured

然后删除文件

代码语言:javascript
运行
复制
rm /tmp/nginx.yaml

因此,基本上对保存在apply中的文件使用/tmp/<file.yaml>

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

https://stackoverflow.com/questions/56811177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档