Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash:无法执行二进制文件(按照联机说明执行)_Bash_Installation - Fatal编程技术网

Bash:无法执行二进制文件(按照联机说明执行)

Bash:无法执行二进制文件(按照联机说明执行),bash,installation,Bash,Installation,我在安装一些东西时遇到了困难,我想写一份我所做的事情的详细列表(包括所有路径,因为我是Linux新手,在阅读东西时遇到了问题,除非列出了完整的路径) 1) 我正在尝试运行一个名为“pslToBed”的程序。我从这里下载的() 2) 它下载了一个名为“pslToBed”的文件。它看起来像一个二进制文件(至少都是jibberish),我保存到目录/Users/MacOwner/Desktop/rnaseq/pslToBed 3) 我做了echo$PATH,得到了以下结果 /usr/local/bin

我在安装一些东西时遇到了困难,我想写一份我所做的事情的详细列表(包括所有路径,因为我是Linux新手,在阅读东西时遇到了问题,除非列出了完整的路径)

1) 我正在尝试运行一个名为“pslToBed”的程序。我从这里下载的()

2) 它下载了一个名为“pslToBed”的文件。它看起来像一个二进制文件(至少都是jibberish),我保存到目录
/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位的。