c - zsh shell 中的百分号从何而来?
问题描述
当我运行这段代码(从教程到二进制安全)时,我总是在我的 zsh shell 中得到一个“%”。这些百分比符号来自哪里以及如何摆脱它们?
#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[]) {
char buf[256];
memcpy(buf, argv[1],strlen(argv[1]));
printf("%s", buf);
}
% ./a.out 234
234%
% ./a.out 23466
23466%
% ./a.out 2
2%
解决方案
我在reddit上找到了这条评论。
Zsh 有一个很好的功能,它可以告诉您前面的命令是否有尾随换行符。您可以自定义在这种情况下打印的内容。我的 ~/.zshrc 中有这个选项:
PROMPT_EOL_MARK='%K{red} ' 这将打印一个红色块,而不是反转的 %(或者当你是 root 时反转 #)。我觉得更好看。
您也可以将此参数设置为空。
PROMPT_EOL_MARK=''
推荐阅读
- reactjs - Lumen 中的 POST API(Cors 问题)
- python - 为什么从. 在这种情况下导入不起作用?
- javascript - 如何在反应中添加滚动到顶部
- c++ - 如何在野兽1.7中打印http消息
- flutter - 是否可以更改文本和边框之间的边距/填充?
- python - 保存PDF图形时如何更改线宽
- docker - 有没有办法将 DOCKER_TLS_VERIFY 环境变量的值更改为 0?
- javascript - 万事达卡付款集成完成付款后如何重定向到链接
- javascript - Javascript - 更新包含给定文本的类名
- javascript - Highcharts stock-tools Clicks 导致 ASP.NET 回发?