繁体   English   中英

如何在Shell命令行上输入退格字符?

[英]How to enter a backspace character on a shell command line?

我正在尝试在K&R中进行练习1-10。 我已经使程序正常运行。 到目前为止,我已经知道退格字符是使用操作系统编写的。 如何在Mac OS X中输入退格字符?

不知道您所说的“煮熟的操作系统”是什么意思。 我猜您在问如何在shell命令行上输入退格字符,而不将其解释为退格,也就是说,实际上没有擦除前一个字符。

ASCII退格控制字符的组合键是^ H(按住Ctrl并按H。但是,在shell命令行上按此组合键仅执行“退格”操作。在操作系统的Bash中引用一个控制字符。 X默认外壳,并在Zsh中键入两个字符的组合:^ V ^ H。

您可以在printf中使用(非破坏性)退格\\b并重新写入。 这条路:

$ cat w.c
#include <stdio.h>

int main () 
{
    printf("abcd\n");
    printf("abc\bd\n");
}
$ ./w
abcd
abd

更新使用putchar()进行同样的操作:

$ cat w.c
#include <stdio.h>

int main () 
{
    printf("abcd\n");
    putchar('a');
    putchar('b');
    putchar('c');
    putchar('\b');
    putchar('d');
    putchar('\n');
}

相同的输出...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM