我想在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
...
我该怎么做?
答案 0 :(得分:8)
也许我误解了你,但这听起来像是一个典型的shell脚本文件。
创建一个文件“myscript.sh”,将命令添加到其中。制作第一行
#!/bin/sh
告诉OS X如何处理该文件。然后将其标记为可执行文件(chmod + x myscript.sh)并按./myscript.sh运行。
这应该可以解决问题。
答案 1 :(得分:2)
您可以使用包含这些命令的shell脚本执行此操作。通常情况下,扩展名为.sh
(因此请将其称为commands.sh
而不是commands.txt
)。
然后,您可以使用bash commands.sh
运行它。
此外,如果您的文件的第一行是#!/bin/bash
,并且如果您使其可执行(例如,通过chmod 755 commands.sh
),您应该能够直接执行此文件:{{1 }}
如果您需要,以./commands.sh
开头的其他行(或行上#
之后的任何内容)都将成为评论。
以下是一些教程:
除了bash之外还有其他shell,但是bash是OSX上的默认值(与#
相同):它就是你在终端中运行的内容。它也是Linux发行版数量的默认值。
答案 2 :(得分:1)
是。这称为shell脚本,它是shell的一个函数(可能是bash,除非你已经改变它),而不是Terminal.app本身。
网上有无数关于shell脚本的资源,但在基本形式中,只需用行启动文件
#!/bin/bash
使用命令chmod +x commands.txt
使其可执行,并按照要运行它们的顺序将命令放入文件中。 (请注意,使用.txt
扩展程序虽然完全合法,但可能会有点令人困惑。)