如何在linux终端上编译并运行一行?

时间:2017-01-25 19:48:13

标签: c linux gcc terminal

每次我编译并运行c文件时,我都要输入:

gcc filename.c

的a.out

我不想在两行中执行此操作,如何在linux终端上编译并运行一行?

4 个答案:

答案 0 :(得分:9)

尝试

gcc filename.c && a.out

如果第一个命令成功,它只运行第二个命令。见https://askubuntu.com/questions/334994/which-one-is-better-using-or-to-execute-multiple-commands-in-one-line

答案 1 :(得分:2)

您可以使用;分隔命令。例如:

gcc filename.c; ./a.out

但是,如果编译成功,您可能只想运行a.out。为此,您可以使用&&

gcc filename.c && ./a.out

答案 2 :(得分:1)

说明:

A ; B - 无论A的成功与否,运行A然后运行B

&& B - 仅在A成功时运行B

A || B - 仅在A失败时运行B

答案 3 :(得分:0)

我在搜索路径中将此bash脚本保存为editor.action.replaceAll

crepl

当我想快速测试保存在的某些源代码时,例如#!/bin/bash gcc -std=c99 -Wall -Wextra -Wpedantic -Werror $1 -o tempout &&\ ./tempout && rm tempout ,我可以在命令行输入:

myfile.c

如果有警告,代码将无法编译和运行,但如果编译成功,程序将运行,并在运行后删除临时可执行文件。