我有以下关于 UNIX 的问题:
当顶线消失时还需要什么
#!\bin\awk -f
to make it run as a command?
我认为无论脚本的名称是什么,都需要使用 chmod 授予其运行权限。
答案1
第一行带有“#!”将是要执行的程序的完整路径名。
Linux 中的路径名在目录之间有正斜杠。
IE:
#!/bin/awk -f
或者
#!/bin/bash
或者
#!/usr/bin/perl
第一个脚本将使用运行脚本程序awk
,第二个使用bash
,第三个使用perl
。
您还必须使用以下命令使文件可执行:
$ chmod +x myscript.sh
答案2
#!\bin\awk -f
是一个有效的 shebang 行,但它不是一个有用的行。它声明该文件必须由\bin\awk
当前目录中调用的程序解释。因此,从字面上回答这个问题,有两种方法可以将该文件作为命令运行:
\bin\awk
创建一个在当前目录中调用的文件,可能是通过复制或链接某个版本的 awk.此外,该脚本需要可执行。ln -s /bin/awk '\bin\awk' chmod +x /path/to/script /path/to/script
显式调用 awk。
awk -f /path/to/script
如果允许修改文件,则应编辑 shebang 行以使其有意义:用斜杠替换反斜杠。并使文件可执行(这无疑是预期的答案,但仅仅这样做并不是正确的答案)。