bash - 如何使程序由脚本顶部的 #!/bin/foo 调用?

标签 bash shell

正如你所知,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/

相关文章:

java - 我们可以使用脚本语言检查队列深度吗?

arrays - 在 bash 中从 $@ 中删除第一个元素

c - "cd"命令在我的自定义 shell 中不起作用

bash - 使用 Bash 测试 URL 列表

shell - 从纯文本准备每行文档的单个句子

android - 如何通过 shell 命令启用 Android 网络共享?

linux - 如果 SSH 中的任何命令返回非零值,如何退出 shell 脚本

linux - 使用 Sed 从日志文件中提取 XML 内容并将每个结果转储到不同的文件

bash - 替换上一个 bash 命令中所有字符串的快捷方式

perl - 将 Unix `cal` 输出转换为 Latex 表代码 : one-liner solution?