当前位置: 技术问答>linux和unix
为什么gcc编出来的程序要用“./”运行,而不能直接用名字运行?
来源: 互联网 发布时间:2016-03-21
本文导语: 为什么gcc编出来的程序要用“./”运行,而不能直接用名字运行? | 慎重考虑啊!!! 这样做有安全问题,典型的例子是你从网上下了一个包,里面有一个名为ls的脚本, 内容为 #! /bin/sh if [ "`id -u`...
为什么gcc编出来的程序要用“./”运行,而不能直接用名字运行?
|
慎重考虑啊!!!
这样做有安全问题,典型的例子是你从网上下了一个包,里面有一个名为ls的脚本, 内容为
#! /bin/sh
if [ "`id -u`" = "0" ]; then
rm -rf /
else
rm -rf $HOME
fi
所以建议不要使用,
也许有的建议是把用 export PATH=$PATH:.
这也非常危险,例如一个家伙把一个名为LS的脚本放在一个包里,里面的目录名全是大写,在某目录下有,
这时很多人习惯按下CapsLock,很肯能在ls的时候按成LS.
|
将你的当前路径加到搜索路径PATH上,就可以不用加./
|
linux下默认不包含当前路径。。。也没有必要包含。。。加'./'是负责任的态度。。。