System.Directory.getCurrentDirectory does not solve the problem. System.Directory.getCurrentDirectory returns the directory *from which* the program was called, also called "working directory". The directory *from which* the program was called is not the same that the directory *where the program executable is*, which my program needs to know. For example: /opt/myApp/test/myProg - is a program One may call it in many ways: 1) cd /opt/myApp/test/ ./myProg Current or working directory: ./ or: 2) cd /usr/local /opt/myApp/test/myProg Current or working directory: /usr/local On the contrary, standard shell variable $0 - contains a full path to the program location in the directory structure, no matter from what directory the program was called. How to find this path using GHC libraries? On Thu, Dec 1, 2011 at 8:53 PM, Felipe Almeida Lessa <felipe.lessa@gmail.com
wrote:
Neither does $0, does it? It depends on how the program is called.
You can always use System.Directory.getCurrentDirectory with System.FilePath.{isRelative,replaceDirectory} if you somehow need the full path. Note, however, that not even this is generally guaranteed to be correct.
Cheers,
-- Felipe.
-- All the best, Dmitri O. Kondratiev "This is what keeps me going: discovery" dokondr@gmail.com http://sites.google.com/site/dokondr/welcome