【问题标题】:How to adjust/edit the Terminal bash script that compiles C?如何调整/编辑编译 C 的终端 bash 脚本?
【发布时间】:2015-07-18 20:53:48
【问题描述】:

我想编辑我的 Apple 脚本文件以改进 Mac 终端中的输出格式。

问题的背景:

我是学习 C 的新手,我对 bash 的了解相当有限。我没有编写脚本的经验。

通过 TextWrangler 编译 C 语言时,我将以下代码保存在“.c”文件中:

#include <stdio.h>

int main() {
    printf("Hello, World!");
    return 0;
}

我将它保存在一个名为“C”的目录中。

在那个目录中,我保存了一个可以在here. 找到的脚本文件,为方便起见,我在此处附上了 AppleScript 文件:

现在,当我转到 TextWrangler 菜单栏中的“编译并运行”时,程序编译成功 - 但输出视图并不是那么好。这是它的样子:

Users-MacBook-Pro:C username$ cd 
'/Users/username/Desktop/Self_Learning/C/'; gcc -o output'
hello_world.c';'/Users/username/Desktop/Self_Learning/C/'output
Hello, World!Users-MacBook-Pro:C username$ 

(对于它的价值,终端中没有不同的字体颜色;假设全部是黑色的)。

我想做的 - 以及我希望这里的人们可以帮助我实现的 - 是更改脚本,以便以下内容可见:

'/Users/username/Desktop/Self_Learning/C/'; gcc -o output'
hello_world.c';'/Users/username/Desktop/Self_Learning/C/'output

Hello, world! 输出之后,bash 提示符会转到一个新行,而不是与输出保持在同一行。换句话说,我希望看到这样的东西:

Users-MacBook-Pro:C #very minimal text here 
Hello, World! #output 
Users-MacBook-Pro:C username$ #new line 

提前感谢任何可以帮助阐明我如何才能做到这一点的人。我进行此调整的动机是,当我运行包含大量代码和输出的 C 文件时,我希望快速查看终端可能输出的任何调试错误,而不是将相关信息与编译命令混淆。

【问题讨论】:

  • 您可以编写一个 makefile,其中 1) 每行都以 '-' 为前缀,因此该行不会被回显,并使用 ' 将编译器和链接器的 stdout 输出重定向到 /dev/null >'。

标签: c bash compilation terminal textwrangler


【解决方案1】:

您忘记在写“hello world”后添加新行。试试这个代码:

#include <stdio.h>

int main() {
    printf("Hello, World!\r\n");
    return 0;
}

【讨论】:

  • 谢谢,但这是否意味着我将不得不使用 printf("\r\n");在每个 C 程序中?我想知道是否有一种方法可以自动为每个 C 文件包含一个中断,这样就不必每次都包含它。
  • @daOnlyBG 是的,你有。 C是一种“低级”语言。有很多场景你不想要一个新行,所以 C 不强制它。如果答案正确,请点赞并设为最佳答案。
  • @daOnlyBG:不,你不需要\r,只需要\n。您打印到文本流的最后一个字符(在本例中为stdout)应该是换行符。您不一定在每次通话时都需要它;你可以合法地做printf("hello"); printf(", world\n"); 注意puts 函数打印单个字符串并附加一个换行符,所以puts("hello") 相当于printf("hello\n")。但printf 更灵活。
  • 谢谢你,@AntonioRagagnin。我知道 C 是一种“低级语言”,因此我不建议使用 C 编译器或与 C 相关的任何其他内容进行任何更改。我只想更改 bash 代码,以便终端输出看起来更好。
猜你喜欢
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-29
  • 1970-01-01
相关资源
最近更新 更多