我正在使用软件(QIIME)它使用自己的子 shell 来运行命令:
您不再需要在 QIIME 命令前输入“macqiime”!相反,您只需在启动新的终端会话时输入一次“macqiime”。这将启动一个带有 QIIME 环境变量的新子 shell。
完成后,您可以运行所有想要的 qiime 命令,而无需“macqiime”命令。
我正在开发一个 bash 脚本,它可以自动启动作业,并应自动通过 QIIME 环境运行脚本。我知道如何从命令行手动执行此操作(如上所述);但是我不知道如何从 bash 脚本自动执行此操作。
有人能帮忙吗?谢谢!
编辑:
你可以通过阅读“高级 MacQIIME 黑客攻击“
答案1
macqiime
您想使用作为解释器来运行脚本。
您可以在#!
第一行使用 来指定。
以此作为第一行(使用真实路径)启动您的脚本:
#!/path/to/macqiime
如果不清楚PATH
程序中的位置,但它在PATH
,您可以使用
#!env macqiime
作为第一行 - 它必须是真正的第一行,没有空行,并且之前没有注释行。
附录
事实证明,该命令macqiime
无法像上面描述的那样使用,请参阅下面的用法。但它不能这样工作似乎没有其他原因,只是因为它是一个非常小的脚本,没有实现从 stdin 读取。
因此,在一般情况下,对于其他行为如问题中描述的程序,上述答案应该适用。
在特殊情况下macqiime
,文档解释了如何在 shell 解释器风格中使用该软件:
你必须用类似这样的内容编写自己的脚本:
#!/bin/bash
source /macqiime/configs/bash_profile.txt
align_seqs.py -i "$@"
如果调用了该脚本,qiime_script
那么您可以从命令行调用它:qiime_script options
其中选项传递给$1,$2等。