linux 中可执行程序执行时./a.out怎么去掉 "./" ? ? ?

conlin_hongwei 2010-10-22 01:32:00
为了执行起来像真正的命令所以想去掉./这个,不知有高手支招吗?非常感谢!在线等!急哦!!!
...全文
598 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
qihuanfengyun 2010-10-22
  • 打赏
  • 举报
回复
干嘛非得去掉啊???
freetstar 2010-10-22
  • 打赏
  • 举报
回复
lz不推荐你这样把path中添加.
你的系统会乱的,要是服务器更容易导致被黑
李迟 2010-10-22
  • 打赏
  • 举报
回复
主席他们的做法很好,我也是这样做的,不过使用./cmd证明我是执行当前目录程序,心里有个底。
8楼的做法简单明了。楼主可一试——虽然我基本不使用。
h85968099 2010-10-22
  • 打赏
  • 举报
回复
这还不简单,把你的程序拷贝到/BIN目录下面,然后你不管在哪里都能执行这个程序了,无敌了吧,
steptodream 2010-10-22
  • 打赏
  • 举报
回复
/usr/bin
/bin
目录是肯定存在于用户的PATH里的 你在制作你自己程序的安装方式的时候可以考虑这一点
安装的时候 比如make install的时候 直接将执行文件复制到/ussr/bin下 很多软件也是这样
否则用户必须修改环境变量PATH 或者在执行的时候加上全路径/path/cmd
而安装软件的时候 用户修改.bash_profile或者/etc/profile也是很正常的操作啊 熟悉linux的人都知道
安装java oracle这类的软件都需要修改呢
steptodream 2010-10-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hongweilinux 的回复:]

可以了!非常谢谢你!但又没有直接在原程序中改呢?不至于移植到其他机器上还要改掉.bash_profile
[/Quote]
在远程序里不可能。你在linux里通过源码安装过别的软件吗?
justkk 2010-10-22
  • 打赏
  • 举报
回复
其实我习惯输入./来执行当前目录的命令,明确,安全性也好..
把.作为PATH的第一个成员,不太安全哈(恶意用户可以写一个自己的ls命令,放在当前路径下)
conlin_hongwei 2010-10-22
  • 打赏
  • 举报
回复
可以了!非常谢谢你!但又没有直接在原程序中改呢?不至于移植到其他机器上还要改掉.bash_profile
steptodream 2010-10-22
  • 打赏
  • 举报
回复
你需要知道的是 平时直接输入shutdown这样的命令的时候 系统默认是去环境变量PATH里找的
你可以echo $PATH看看你的环境变量PATH都包含了那些路径。
因此 除了1楼说的 你还可以把你的命令复制或者链接到上面显示的任意一个路径下 那么执行的时候也不要./了

另外 需要说明的是 如果你无论在哪儿 都能直接不要./执行你的a.out的话 1楼的
export PATH=.:$PATH
就不对了 应该是
export PATH=/cmd-path:$PATH

/cmd-path就是你a.out的存在路径
steptodream 2010-10-22
  • 打赏
  • 举报
回复
修改你的~/.bash_profile
加入
export PATH=.:$PATH

然后执行source ~/.bash_profile
即可

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧