Bash - 等待进程(这里是gcc)

时间:2015-05-22 20:21:22

标签: bash gcc

在我的Ubuntu机器上,我想创建一个用于编译c文件的自定义命令。 目前我有一些不喜欢的东西,它不像我想要的那样:

#compile the file
gcc $1 -o ~/.compile-c-output

#run the program
./~/.compile-c-output

#delete the output file
rm ~/.compile-c-output

问题是在gcc准备好之前执行了run命令,因此该文件不存在。我怎么能等到gcc准备好了,我可以正常运行文件?

顺便说一下,如何在输出文件中添加一个随机数,这样如果我在两个不同的终端上运行它,这个脚本也能正常工作?

1 个答案:

答案 0 :(得分:2)

./~/.compile-c-output

摆脱领先的./。这就是文件不存在的原因。

~/.compile-c-output

要获取随机文件名,请使用mktempmktemp保证不会覆盖现有文件。

file=$(mktemp)    # unspecified file name in /tmp

gcc "$1" "$file" && "$file"
rm "$file"