正如你所知,shell 脚本在脚本顶部有一个“#!/bin/bash”,它将脚本结束为 shell 二进制文件,然后 shell 将运行该脚本。我想制作一个应该像“#!/bin/foo”这样调用的程序,然后它应该读取 script 。但我不知道我该怎么做。某人可以帮忙吗?
最佳答案
当 #!/bin/foo
shebang 已运行,/bin/foo
运行,以文件名作为参数,例如如果文件名是bar
,那么将运行的命令行是 /bin/foo bar
。要在 C 中实现它,请检查是否 main()
的argc
(参数计数)是 1
,那么 argv
的唯一元素将是文件名,因此您可以使用 argv[0]
访问文件名。从那里我猜你会想要 fopen()
文件,fread()
并用它做你想做的事。
关于bash - 如何使程序由脚本顶部的 #!/bin/foo 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19318872/