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

时间:2017-07-29 16:05:14

标签: bash unix

我想将一些文件放入我的/ usr / bin文件夹(Mac OS)并通过在终端输入名称来运行它们,例如命令 gcc cd vim (这些都在该文件夹中)。当我打开文本这样的文件时,它看起来是加密的,所以我不确定如何创建一个或哪个扩展名来使用。谢谢。

3 个答案:

答案 0 :(得分:4)

您在/usr/bin中看到的文件未加密 - 它们使用与bash脚本不同的机器语言编译代码。但是,您也可以在/usr/bin位置放置脚本,并让它们按照您的预期运行。

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

  1. 在文件权限级别设置的可执行位
  2. 脚本解释器标题,例如#!/bin/bash
  3. 对于bash脚本,您可以执行以下操作:

    制作包含以下内容的新文件:

    #!/bin/bash
    
    echo "Hello world - My first bash script."
    

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

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

    将此文件移至/usr/local/bin,您应该可以从命令行运行hello.sh,它应该执行您的程序。

答案 1 :(得分:0)

gcccd等程序未加密,但已编译;但是,如果您创建一个shell脚本(没有.sh作为后缀; shell脚本的.sh文件扩展名是可选的)并将其放在/usr/bin或任何PATH位置,并且您{ {1}}(提供执行权限)然后您可以直接将其用作命令。

注意:使用shebang提及脚本解释器,例如chmod +x <script-path>或等效于korn shell,python等。

答案 2 :(得分:0)

您可以创建脚本,例如在bash中,使用chmod使文件可执行,并将文件路径放在$PATH中。

实施例: 创建一个名为myscript.sh的新文件,您可以使用vi或您喜欢的任何编辑器。 添加下面的内容:

#!/bin/bash

echo "Hello world!"

现在让它可执行:

chmod u+x my script.sh

您可以像./myscript.sh一样运行脚本或将其添加到您的路径中:

export PATH=$PATH:$PWD

现在您可以使用名称来运行,例如myscript.sh