的命令队列我想在Mac终端中执行命令队列。是否可以准备一个包含一系列命令的文件,并通过终端提交文件?例如... commands.txt中包含多个命令,每行一个:终端(OS X),来自文件
./executable_file -f sub_a 100
./executable_file -f sub_b 100
./executable_file -f sub_c 100
./executable_file -f sub_d 100
...
我怎么能这样做?
的命令队列我想在Mac终端中执行命令队列。是否可以准备一个包含一系列命令的文件,并通过终端提交文件?例如... commands.txt中包含多个命令,每行一个:终端(OS X),来自文件
./executable_file -f sub_a 100
./executable_file -f sub_b 100
./executable_file -f sub_c 100
./executable_file -f sub_d 100
...
我怎么能这样做?
也许我误解了你,但这听起来像是一个shell脚本文件的典型案例。
创建一个文件“myscript.sh”,添加你的命令。使第一行
#!/bin/sh
告诉OS X如何处理文件。然后将其标记为可执行文件(chmod + x myscript.sh),然后按照./myscript.sh运行它。
这应该做的伎俩。
您可以使用包含这些命令的shell脚本执行此操作。通常情况下,扩展名将为.sh
(因此称其为commands.sh
而不是commands.txt
)。
然后,您可以使用bash commands.sh
运行它。
此外,如果您的文件的第一行是#!/bin/bash
,并且您使其可执行(例如,通过chmod 755 commands.sh
),则应该能够直接执行此文件:./commands.sh
。
其他以#
开头的行(或任何在#
之后的行)将会是注释,如果需要的话。
这里有一些教程:
还有其他的壳比bash的太多,但bash的是OSX(同/bin/sh
)默认:这就是你已经在终端内运行了。这也是Linux发行版数量的默认值。
+1提到添加#!/ bin/bash和链接到教程的原因。 – 2011-12-21 00:58:25
是的。这被称为shell脚本,并且是shell的函数(可能是bash,除非你已经改变了它),而不是Terminal.app本身。
大约有shell脚本在网络上无数的资源,但在基本形式,刚开始的文件与行
#!/bin/bash
使其可执行与命令chmod +x commands.txt
,并把你的命令在该文件中您想要运行它们的顺序。 (请注意,使用.txt
扩展名虽然完全合法,但可能有点令人困惑)。
是的,它似乎回答了我的问题。我会试试看。 – Stingery 2011-12-20 12:41:33