永发信息网

如何实现readlink来查找路径

答案:1  悬赏:20  手机版
解决时间 2021-02-01 20:14
如何实现readlink来查找路径
最佳答案
如何实现readlink来查找路径
1. 如果程序不是由自己做,这是一个糟糕的计划。糟糕的程序应包有一点的Bash脚本:#!/bin/bash
set -e
cd $(readlink -f $(dirname $0))
exec ./myprog $*

上面的脚本确定所在的目录,然后更改当前工作目录到该目录并运行一个程序myprog从那里,通过所有透明。你必须把这个脚本到你的程序所在的目录,然后运行你的程序来代替它。 假设您有访问源代码并可以修复程序,proc文件系统来确定程序的位置和绝对路径。 例如,/proc/self/exe将永远是一个符号链接指向的当前进程的二进制文件。使用readlink读取它的值 CodeGo.net,再切可执行文件和你得到的目录。
2. 出现了问题,前一段时间如何找到在C中的可执行文件的位置 你打开你的配置,资源,等这个路径..
3. 一种方法是ARGV [0]-有你的程序的相对路径(例如./programs/test/a.out)。如果你切的程序,并添加到文件的相对路径,你会得到一个怪物(例如./programs/test/../../input_data),但它应该工作。
4. 最简单的方法是要么把你的程序在一个预先知道的地方(/ bin中,/ usr / bin中,等)。如果没有,你在argv [0],删除该程序(最后一部分),作为你的工作目录前缀的所有相对路径(如果你想相对路径是相对于你的程序是)。 此外,你可以决定你的上面(使用的路径argv[0]),然后调用一个chdir()与此目录。从此所有的相对路径上是相对于所在的程序。但请注意,在这种情况下,你必须确定是否argv[0]占据绝对路径。如果没有,你必须得到当前工作目录(getcwd()),然后追加的目录部分argv[0]。但是,请注意,改变当前工作目录。是不是一个好主意,通常情况下,仿佛给你一个文件路径作为这将是相对于当前的工作目录,而不是相对于所在的程序存储。 例子:想象一下,你的程序在生活/usr/bin。你可以打电话给你的程序为:/usr/bin/myprog
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
欢畅文化传播有限公司地址在什么地方,想过去
重羞的意思是什么啊?知道的请说下!
在老年住宅内装修吊柜、吊灯、吊扇、吊顶搁板
深圳坐高铁去郴州
城市管理局和城市管理委员会有什么联系和区别
微交易有专业的老师带单,靠谱吗
【商量的反义词】商量的近反义词
圣经中的“行律法”啥意思
促进教师主动参与教育教学的途径有哪些
精手的意思是什么啊?知道的请说下!
问一个交通问题,我在过一个圆盘时要如何打转
奇瑞qq308的正时皮带有几齿!皮带断了给会顶
重庆艾利国际舞蹈培训(大学城店)地址在什么地
美萍软件运行时怎么能做到不检测加密狗
三人坐在太阳上
推荐资讯
“科学的发展同前一代人遗留下的知识量成正比
为什么宾馆房间里的厕所门都没有锁
【赣州高铁什么时候开通】...开通运行.再经龙
2.8km是多少里路?
録相的意思是什么啊?知道的请说下!
孩子上幼儿园老爱往外跑不好好坐着怎么办
赤壁天佑大酒店地址在什么地方,我要处理点事
地铁 去郑州东开发区第三大街与经北一路交叉
假如帖木儿东征明朝
怎么辨别利郎男装的真伪
笔记本里的以太网连接网络就是本地连接吗
歌曲 传奇 有男女对唱版的。就是在央视播出过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?