当前位置: 技术问答>linux和unix
菜鸟提问:文件执行权限和方式的疑惑?
来源: 互联网 发布时间:2015-10-16
本文导语: 比如我在自己的目录下有一个run的文本文件, 其内容为 echo "test for run!" 且已经添加了自己对该文件的有执行的权限 为什么输入run,提示没有这个命令 (就算没有预先设置路径吧,拷贝到bin还是不行,估计因为...
比如我在自己的目录下有一个run的文本文件,
其内容为 echo "test for run!"
且已经添加了自己对该文件的有执行的权限
为什么输入run,提示没有这个命令
(就算没有预先设置路径吧,拷贝到bin还是不行,估计因为这个是文本文件,bin里其他的二进制文件,我想)
而输入./run,就可以了?
这个“./”是怎么来的?作用到底是什么?
刚刚接触unix/linux领域,对这点非常困惑
其内容为 echo "test for run!"
且已经添加了自己对该文件的有执行的权限
为什么输入run,提示没有这个命令
(就算没有预先设置路径吧,拷贝到bin还是不行,估计因为这个是文本文件,bin里其他的二进制文件,我想)
而输入./run,就可以了?
这个“./”是怎么来的?作用到底是什么?
刚刚接触unix/linux领域,对这点非常困惑
|
为什么输入run,提示没有这个命令
----------------
默认情况下,系统是不搜索当前目录的,而只搜索PATH变量里定义的路径,所以找不到
你可以在PATH里添加当前目录(.)
就算没有预先设置路径吧,拷贝到bin还是不行
-----------
注销再登陆就OK了
./run
-----------
表示当前目录下的run
这样做的原因同第一点
所以当脚本或者命令不在预设路径下时,就要给出它的路径,相对或绝对都可以
比如
../run 执行上级目录中的run
hhh/run 执行当前目录下的hhh目录中的run
/tmp/run 执行/tmp下的run
----------------
默认情况下,系统是不搜索当前目录的,而只搜索PATH变量里定义的路径,所以找不到
你可以在PATH里添加当前目录(.)
就算没有预先设置路径吧,拷贝到bin还是不行
-----------
注销再登陆就OK了
./run
-----------
表示当前目录下的run
这样做的原因同第一点
所以当脚本或者命令不在预设路径下时,就要给出它的路径,相对或绝对都可以
比如
../run 执行上级目录中的run
hhh/run 执行当前目录下的hhh目录中的run
/tmp/run 执行/tmp下的run
|
./是path 当前路径而已 你可以在set PATH=$PATH:./
就可以直接执行run了。
就可以直接执行run了。