我正在根据主管给我的指令编写python脚本。我了解了如何使用asyncio
库通过脚本调用Shell命令,并将该命令复制到此处运行。它适用于我想要使用的大多数命令。问题来自链接到linkerd的命令,我甚至不确定它们应该做什么。有问题的命令:
./linkerd install --ha --ignore-cluster | grep image: | grep linkerd | sed -e 's/^ .*images: //* | sort | uniq >> linkerd_images.txt
./linkerd viz install --ha --skip-checks | grep images: | sed -e 's/^ .*images: //* | sort | uniq >> linkerd_images.txt
我得到的错误代码是:CCD_ 2。从我在这里的其他帖子中可以看出,这个错误代码通常意味着你没有使用正确的解码方法(大多数人在尝试打开PDF时都遇到了这个问题(,他们不得不更改f = open('file.txt', 'utf-8')
或类似的东西。这里的问题是,我正在用python打开文件,我不确定如何影响它。我通常会研究这个命令,并尝试用纯python来完成它,但这个命令使用了LinkerD的二进制文件,所以我真的不能这么做(或者至少我不这么认为(。我该如何处理或解决此问题?
我今天找到的答案。问题是,我的撇号是一个法国撇号(或另一个类似的符号(,sed无法识别。向我发送命令的人没有考虑到他的键盘布局,我毫不犹豫地将其复制粘贴到代码中。我在这里也没有写对,因为堆栈溢出在我的个人电脑上,所以我盯着我的工作笔记本电脑上的代码。如果你发现自己在这里,请确保所有的符号都是真实的。ubuntu stackexchange的某个人让我运行hexdump -C [name of the script]
。这将为您提供文件中每个字符的十六进制值。向下滚动到命令的那个部分,并仔细检查每个字符是否都有正确的十六进制值。