快速编译并执行csapp程序
现在要实现通过c file.c
来执行两个过程:
# 1. 根据c文件名生成对应的输出文件 gcc -I/home/crx/study/csapp/code/include /home/crx/study/csapp/code/src/csapp.c file.c -o file # 2. 执行输出文件 ./file
通过chatgpt的方案是,使用脚本来根据输入文件名自动生成输出文件名。
-
创建
compile-csapp.sh
脚本vim ~/bin/compile-csapp.sh -
编辑脚本文件
#!/bin/bash # 检查是否提供了源文件作为参数 if [ $# -eq 0 ]; then echo "Usage: c <source_file>" exit 1 fi # 获取文件名,去掉扩展名 .c filename=$(basename "$1" .c) # 编译源文件并链接 gcc -I/home/crx/study/csapp/code/include /home/crx/study/csapp/code/src/csapp.c "$1" -o "$filename" # 执行生成的可执行文件 ./"$filename" - “#!”是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行。
-
放权限
chmod +x ~/bin/compile-csapp.sh -
确保
~/bin
在PATH
中为了让系统能够识别
c
命令并执行,需要确保~/bin
目录在PATH
环境变量中。打开
~/.bashrc
文件:vim ~/.bashrc 将指令
c
与脚本compile-csapp.sh
链接alias c="~/bin/compile-csapp.sh" -
刷新
./bashrc
source ~/.bashrc
此时在/home/crx/study/csapp/code/ecf
目录执行c fork.c
crx@ubuntu:ecf$ c fork.c parent: x=0 child : x=2 crx@ubuntu:ecf$ c Usage: c <source_file>
可以看到已经实现了我们想要的结果。
本文作者:上山砍大树
本文链接:https://www.cnblogs.com/shangshankandashu/p/18597880
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步