每次我编译并运行c文件时,我都要输入:
gcc filename.c
的a.out
我不想在两行中执行此操作,如何在linux终端上编译并运行一行?
答案 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
如果有警告,代码将无法编译和运行,但如果编译成功,程序将运行,并在运行后删除临时可执行文件。