如何为终端创建新的 unix 可执行文件 (.sh?) 以用作命令?

Ser*_*rin 3 unix bash

我想制作一些文件放在我的 /usr/bin 文件夹(Mac OS)中,并且能够通过在终端中输入名称来运行它们,例如命令gcccdvim(这些都在里面文件夹)。当我打开这样一个文本文件时,它看起来是加密的,所以我不确定如何创建一个或使用什么扩展名。谢谢你。

Pre*_*ays 5

您看到的文件/usr/bin没有加密——它们是用不同于 bash 脚本的机器语言编译的代码。但是,您也可以在该/usr/bin位置放置脚本,并让它们完全按照您的预期运行。

为此,您必须创建一个可执行脚本文件。在 unix 中,脚本不是通过文件扩展名来标识的,而是通过两件事来标识的:

  1. 在文件权限级别设置的可执行位
  2. 脚本解释器标头,例如 #!/bin/bash

对于 bash 脚本,您可以执行以下操作:

创建一个包含以下内容的新文件:

#!/bin/bash

echo "Hello world - My first bash script."
Run Code Online (Sandbox Code Playgroud)

将文件另存为hello.sh(.sh 只是约定,它可以是任何文件名)。

然后运行chmod +x hello.sh,您将能够将此文件作为可执行文件运行。

将此文件移动到/usr/local/bin您应该能够从命令行运行hello.sh并且它应该执行您的程序。

  • 不要把自定义命令放在`/usr/bin`,`/usr/local/bin` 是更好的选择。 (6认同)