我可以设置一个符号链接式的别名,从(例如)“mybinary dothing”到“dothing”吗?

我可以设置一个符号链接式的别名,从(例如)“mybinary dothing”到“dothing”吗?

我有一个脚本,它获取一些基因数据并通过数十个程序运行它,以尝试提取尽可能多的信息并生成一些漂亮的报告。但是,虽然它在 Windows 下似乎运行良好,但我无法让它在 Ubuntu 12.10 上运行。

它想要使用tigr-glimmer软件包中的一些软件,long-orfsextract等(见下文),并且似乎提供的脚本希望它们是单独的二进制文件。但是,安装后,它们实际上似乎是二进制文件的“子程序”(?) ,需要以或类似的名称tigr-glimmer运行。我尝试创建一个别名以转换为,但似乎没有效果。 tigr-glimmer long-orfslong-orfstigr-glimmer long-orfs

我能否以某种方式将两者联系起来,或者我应该如何解决这个问题? Python 脚本对我来说是开放的,但我宁愿避免打开这个麻烦的盒子。它似乎扫描了环境路径中的一组给定字符串(例如long-orfs...)以寻找可执行文件,而我的别名显然不符合条件。如果我改变它的工作原理,那么我需要更改散布在几个文件中的数十个调用...

我几乎没有 Linux 经验,所以我对如何做到这一点的看法几乎肯定是错误的。请纠正我 :P

ubuntu@domU:~$ python run_antismash.py --clusterblast P115_92.gb
ERROR: Failed to locate executable for 'long-orfs'
ERROR: Failed to locate executable for 'extract'
ERROR: Failed to locate executable for 'build-icm'
ERROR: Failed to locate executable for 'glimmer3'
ERROR: Not all prerequisites met
ubuntu@domU:~$ alias long-orfs
alias long-orfs='tigr-glimmer long-orfs'
ubuntu@domU:~$ long-orfs
Starting at Fri Mar 15 22:08:17 2013

USAGE:  long-orfs [options] <sequence-file> <output-file>

Read DNA sequence [...]

答案1

对于我的特殊情况tigr-glimmer,各个子命令实际上是中的单个二进制文件/usr/lib/tigr-glimmer,因此将其添加到PATH就足够了。

更一般地,制作一个伪二进制 shell 脚本也是可行的,例如

长ORF

#!/bin/bash
tigr-glimmer long-orfs "$@"

将其所在的目录添加到PATH环境变量中,或者直接将其转储到/usr/bin已经存在的目录中PATH

答案2

您应该检查 bitbucket 存储库的下载页面。有一个不错的脚本 ( install_ubuntu.sh),可用于在 ubuntu 上安装并为 antismash 设置包装器脚本。

https://bitbucket.org/antismash/antismash2/downloads

相关内容