我有一个外壳脚本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/