【问题标题】:Terminal (OS X), a queue of commands from file终端(OS X),来自文件的命令队列
【发布时间】:2012-01-24 09:54:06
【问题描述】:

我想在 Mac 终端中执行一系列命令。是否可以准备一个包含一系列命令的文件,并通过终端提交文件?例如... commands.txt 包含多个命令,每行一个:

./executable_file -f sub_a 100
./executable_file -f sub_b 100
./executable_file -f sub_c 100
./executable_file -f sub_d 100
...

我该怎么做?

【问题讨论】:

    标签: macos terminal command


    【解决方案1】:

    您可以使用包含这些命令的 shell 脚本来执行此操作。通常,扩展名是.sh(所以称它为commands.sh 而不是commands.txt)。

    然后您可以使用bash commands.sh 运行它。

    此外,如果您的文件的第一行是#!/bin/bash,并且如果您使其可执行(例如,通过chmod 755 commands.sh),您应该能够直接执行此文件:./commands.sh

    如果需要,其他以# 开头的行(或一行上# 之后的任何内容)将是 cmets。

    这里有一些教程:

    除了 bash 之外还有其他 shell,但 bash 是 OSX 上的默认设置(与 /bin/sh 相同):它是您已经在终端中运行的。这也是 Linux 发行版数量的默认值。

    【讨论】:

    • +1 提到了添加 #!/bin/bash 的原因并链接到教程。
    【解决方案2】:

    是的。这称为 shell 脚本,它是您的 shell(可能是 bash,除非您更改了它)的函数,而不是 Terminal.app 本身。

    网上关于shell脚本的资源数不胜数,但在基本的形式中,只需以行开头的文件

    #!/bin/bash
    

    使用命令chmod +x commands.txt 使其可执行,并按照您想要运行它们的顺序将您的命令放入文件中。 (请注意,使用 .txt 扩展名虽然完全合法,但可能有点令人困惑)。

    【讨论】:

      【解决方案3】:

      也许我误解了你,但这听起来像是一个典型的 shell 脚本文件。

      创建一个文件“myscript.sh”,将您的命令添加到其中。做第一行

      #!/bin/sh
      

      告诉 OS X 如何处理文件。然后将其标记为可执行(chmod +x myscript.sh)并按照 ./myscript.sh 运行它。

      这应该可以解决问题。

      【讨论】:

      • 是的,这似乎回答了我的问题。我会试试看。
      猜你喜欢
      • 2013-03-10
      • 1970-01-01
      • 2015-02-05
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多