我有一个外壳脚本compileRun,可以编译并执行C源文件。

#!/bin/sh
gcc bar.c -o ./bar
./bar


我真正希望实现的是

ln -s compileRun bar.c
./bar.c


我希望bar.c被编译和执行。
感谢您的帮助。

最佳答案

我了解OP想要什么。

仅当将源文件显式存储在符号链接之外的其他位置时,以下内容才有效。在bash脚本中,路径可以位于$0之前。

您应该在bash脚本中用somefile.c替换$0

这个特殊的shell表达式返回当前正在执行的文件的名称。在您的情况下为bar.c

例如:

ln execute_c_file my_file.c
./my_file.c


如果my_file.c是正在运行的bash脚本,则$0将计算为my_file.c

建议您编辑问题以清除代码的语义/含义。

关于c - 使符号链接(symbolic link)到可执行文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50282766/

10-16 20:25