Cygwin的程序编译但不运行的
问题描述:
我刚安装CD-HIT和遵循这些指令:Cygwin的程序编译但不运行的
Installation
Most CD-HIT programs were written in C++. Installing CD-HIT package is very simple:
download current CD-HIT at http://bioinformatics.org/cd-hit, for example cd-hit-2006-0215.tar.gz
unpack the file with ” tar xvf cd-hit-2006-0215.tar.gz --gunzip”
change dir by “cd cd-hit-2006”
compile the programs by “make”
you will have all cd-hit programs compiled
我按照这些步骤,确实.exe
文件作了:
cdhit.c++ cdhit-est-2d.c++ clstr_select_rep.pl
cd-hit.exe cd-hit-est-2d.exe clstr_size_histogram.pl
cdhit.o cdhit-est-2d.o clstr_size_stat.pl
cdhit-2d.c++ cd-hit-para.pl clstr_sort_by.pl
cd-hit-2d.exe cdhit-utility.c++ clstr_sort_prot_by.pl
cdhit-2d.o cdhit-utility.h clstr_sql_tbl.pl
cd-hit-2d-para.pl cdhit-utility.o clstr_sql_tbl_sort.pl
cdhit-454.c++ ChangeLog clstr2tree.pl
cd-hit-454.exe clstr_cut.pl clstr2txt.pl
cdhit-454.o clstr_list.pl clstr2xml.pl
cd-hit-auxtools clstr_list_sort.pl doc
cdhit-common.c++ clstr_merge.pl FET.pl
cdhit-common.h clstr_merge_noorder.pl license.txt
cdhit-common.o clstr_quality_eval.pl make_multi_seq.pl
cdhit-div.c++ clstr_quality_eval_by_link.pl Makefile
cd-hit-div.exe clstr_reduce.pl plot_2d.pl
cdhit-div.o clstr_renumber.pl plot_len1.pl
cd-hit-div.pl clstr_rep.pl psi-cd-hit
cdhit-est.c++ clstr_reps_faa_rev.pl README
cd-hit-est.exe clstr_rev.pl usecases
cdhit-est.o clstr_select.pl
然而,当我类型:cd-hit-est
在cygwin命令行,它会说:-bash: cd-hit.exe: command not found
。我无法弄清楚为什么会发生这种情况。即使我在文件夹中找到了.exe
文件,它仍然会出现相同的错误。
答
当您尝试在没有路径的情况下运行命令时,bash会尝试从PATH环境变量中查找每个目录中的命令名称。 通常当前目录“。”是不是在PATH所以你必须运行命令之前,命令名称添加绝对或相对路径:
./cd-hit.exe
或
/absolute/path/to/your/cd-hit/program/cd-hit.exe
如果你想从永久运行命令CD-hit.exe在任何地方,只要加入其中cd-命中被编译到任何现有的自动加载的bash轮廓文件的目录:
.profile
.bashrc
.bash_profile
像
PATH=$PATH:/absolute/path/to/your/cd-hit/program
export PATH
让我猜,你在可执行文件所在的目录?然后尝试'。/ cd-hit-est'(即在程序前加上当前路径)。 –
那么这是一个很好的猜测哈哈@Someprogrammerdude但我只能在链接此地图的路径时运行它,而不必键入cd-hit-est? – CodeNoob
您可以随时将目录追加到路径中(在目录中,例如'export PATH = $ PATH:$(pwd)')。重要说明:不要将当前目录'.'添加到'PATH'。无论您身处何处,它始终是* current *目录,并且通常被认为是安全风险。如果你想让'PATH'永久变化,那么在你的'.profile'(或'.bash_profile')文件中添加命令(当然有正确的路径)。 –