如何在shell命令行中输入退格符?

时间:2016-02-10 18:25:10

标签: c macos shell

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

2 个答案:

答案 0 :(得分:2)

不确定您的意思是"用操作系统煮熟"。我猜你是在询问如何在shell命令行输入退格符,而不是将其解释为退格,也就是说,实际上没有删除前一个字符。

ASCII退格控制字符的组合键是^ H(按住 Ctrl 并按 H 。但是,在shell命令行上按此组合只会执行"退格"操作。在Bash中引用控制字符,这是OS X默认shell,在Zsh中键入两个字符的组合:^ V ^ H。

答案 1 :(得分:0)

您可以在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');
}

相同的输出......