Bash:无法执行二进制文件(按照联机说明执行)
我在安装一些东西时遇到了困难,我想写一份我所做的事情的详细列表(包括所有路径,因为我是Linux新手,在阅读东西时遇到了问题,除非列出了完整的路径) 1) 我正在尝试运行一个名为“pslToBed”的程序。我从这里下载的() 2) 它下载了一个名为“pslToBed”的文件。它看起来像一个二进制文件(至少都是jibberish),我保存到目录Bash:无法执行二进制文件(按照联机说明执行),bash,installation,Bash,Installation,我在安装一些东西时遇到了困难,我想写一份我所做的事情的详细列表(包括所有路径,因为我是Linux新手,在阅读东西时遇到了问题,除非列出了完整的路径) 1) 我正在尝试运行一个名为“pslToBed”的程序。我从这里下载的() 2) 它下载了一个名为“pslToBed”的文件。它看起来像一个二进制文件(至少都是jibberish),我保存到目录/Users/MacOwner/Desktop/rnaseq/pslToBed 3) 我做了echo$PATH,得到了以下结果 /usr/local/bin
/Users/MacOwner/Desktop/rnaseq/pslToBed
3) 我做了echo$PATH
,得到了以下结果
/usr/local/bin:/Users/MacOwner/anaconda/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/usr/texbin:/usr/X11/bin:/opt/local/bin:~/bin:/Users/MacOwner/Desktop/bedtools2-2.19.1
4) 我从步骤(3)中选择了一条路径,即/usr/local/bin
5) 我做到了:cp/Users/MacOwner/Desktop/rnaseq/pslToBed/usr/local/bin/
6) 我在~/.bashrc和~./bash_profile的底部添加了相同的行:
export PATH=$PATH:/usr/local/bin/pslToBed
然后,我返回到/Users/MacOwner/Desktop/rnaseq/
,试图运行pslToBed
,但出现错误-bash:/usr/local/bin/pslToBed:无法执行二进制文件
我知道这对有经验的用户来说可能很简单,但我被卡住了,即使在搜索了几个小时的互联网之后。我的道路和想法看起来正确吗?如果没有,我应该怎么做才能让这个程序运行?首先,看看你有什么类型的文件:
file plsToBed
这将打印文件类型(包括有关目标体系结构的详细信息)
接下来,在尝试运行该文件之前,无需将其复制到任何位置。如果它在某个特定位置,并且您有cd
到该位置,则只需:
./plsToBed
将从当前目录执行它
如果不是root用户,您不应该复制到/usr/local/bin
(我希望您不是以root用户身份执行所有这些操作)
您不想将文件本身的名称添加到
PATH
环境变量中;路径是目录列表,而不是文件。您想在32位机器上执行64位二进制文件吗?谢谢。我有“Intel Core 2 Duo”,它被列为64位机器(我想)。让我看看是否能找出文件是什么二进制文件…在控制台中尝试uname-a
。它应该告诉您linux版本是32位还是64位。当我使用文件pslToBed时,我得到“pslToBed:ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接(使用共享libs),用于GNU/linux 2.6.18,不剥离”,根据文件名中的x86_64判断,它是64位的。