Portál AbcLinuxu, 12. května 2025 07:41
Dobry den,
vsichni vime, ze soubor ~/foo
je v domovskem adresari, ../bar
je v adresari o uroven vyse atd...
A ja bych se chtel zde zeptat, zda je definovano neco podobneho pro zadani cesty k souboru pro program, aby byla relativni vudci ceste ke spoustenemu programu.
Napriklad kdyz spustim $ program --plugin "pluginA" --plugin "~/adresar/pluginB" --plugin "???/pluginX"
Tak vlastne pluginA
je v aktualnim adresari kde jsem nyni, pluginB
je v adresari /home/user/adresar/
a potreboval bych aby pluginX
byl ze stejneho adresare, kde lezi binarka programu.
Existuje neco takoveho?
Dekuji.
argv[0]
máš cestu ke své binárce.
ak je program v ceste a spustis ho napisanim jeho nazvu v shelli, argv[0] bude obsahovat len ten nazovTakhle se to u mě zjevně nechová. Mám v takovém případě v argv[0] plnou cestu. Další možnost je kouknout, kam vede symlink
/proc/<pid>/exe
.
V argv[0] je to, co tam postrčil rodičovský proces v argumentu execve(), a to může být kdeco.No jo, může. Můj shell to dělá tak, jak jsem uvedl. Jiný to může dělat jinak.
which
či podobné.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.