linux当前目录下的可执行文件不能直接执行的原因

linux当前目录下的可执行文件不能直接执行的原因,第1张

linux的当前目录下有个可执行的文件:example。需使用./example来执行他(就是要指明路径),而不能仅用example。 原因: 如果在dos下执行一个文件,缺省情况下是先在当前目录下寻找,找不到的话在再PATH环境变量中寻找。而linux下运行可执行文件的逻辑是直接只在环境变量中寻找。要执行一个可执行文件要么其在PATH路径中,这种情况可以直接写文件名;要么指明完整路径。(一直以WIN上的观念来理解,以为会搜索当前目录,所以直接敲可执行文件的名字,老是报command not found!)所以如果某个可执行文件不在环境变量设置的目录下面的话。就不能直接使用其文件名来运行(即使在当前目录下也不行),需指定文件路径(相对和绝对都可)。要想在当前目录下直接写文件名,可将“./”加入PATH,但一般不建议这么做。 在linux平台下,我们编译的可执行bin文件,如果需要运行,则直接./test 即可运行, 如果我们不想加上./怎么直接运行test这个bin呢? 我们先来分析下这个./test是啥意思,首先test是可执行bin的名字,./表示当前目录,那么简单了,其实./就是告知test的路径。 我们可以echo $PATH, 可以查看当前设置的环境变量,我们吧test的路径,加入到PATH变量中去,那么就可以直接执行test了。

sh 文件 是 Shell 脚本文件——它既是可以运行的文件,又是可以编辑的文本文件。因此,打开他有两种方法——打开运行,和打开编辑。你可以通过右键菜单来选择用哪种方式打开。另外,Linux 和 Unix 系统中,文件出了读取和写入的权限之外,还有执行的权限。你可能要确认你有这个权限。你可以通过 chmod 777 __.sh 来修改你的文件权限。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8584579.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存