创建一个类似 more、adb 的文件

创建一个类似 more、adb 的文件

在 Ubuntu 中,如果我输入which more,它将显示more命令的路径为/bin/more,表明它是一个文件。但我没有看到它的任何扩展名,也没有关联的类型,可能是因为它们是简单的可执行文件。我如何创建这样一个可以作为简单echo字符串的文件?
我不想创建文件,因为如果我想将文件作为命令与另一个命令一起传递,我也.sh必须输入 。TIA.sh

答案1

类似 Un*x 的操作系统对文件扩展名不感兴趣。要使 shell 脚本可执行,请输入

#!/bin/sh

作为脚本的第一行来定义解释器(或者#!/bin/bash如果您需要 bash 扩展,或者您选择的任何 shell)。并将模式更改为可执行:

chmod a+x <filename>

如果可执行文件不在您的 PATH 环境目录中,则必须提供其完整路径或相对路径。

编辑:

如果您的主目录中有一个 ./bin 子目录,则登录时通常会将其包含在您的 $PATH 中(请参阅 .profile 脚本)。因此,您可以创建 $HOME/bin 并将可执行文件放在那里

答案2

您不需要.sh对 shell 脚本使用扩展名。它们应该以 shebang 开头,以表明它是 shell 脚本。#!/bin/bash是 bash 脚本的 shebang,或者如果您希望操作系统根据默认的 shell 用途来决定使用哪个 shell #!/bin/sh

为了能够将脚本作为命令执行,只需输入名称,它应该具有;shebang、可执行权限,并且应该位于 PATH 环境变量中包含的目录中。

您可以使用以下方式查看所有这些位置:

echo $PATH

输出应为:

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

一旦满足这三个条件,只需输入名称即可执行脚本。

相关内容