WebDec 14, 2016 · To get a path of the current shell interpreter, on Linux, and with Bourne or csh like shells, you can do: readlink "/proc/$$/exe" The rc equivalent: readlink /proc/$pid/exe The fish equivalent: set pid %self readlink /proc/$pid/exe csh/tcsh set the $shell variable to the path of the shell. WebMar 16, 2024 · Tour Start here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site
readlink(3): read contents of symbolic link - Linux man page
WebMay 14, 2015 · Because readlink -f reports the absolute target path even when the argument is not a symlink, you could simplify to dot=$ (dirname -- "$ (READLINK_CMD -f -- "$0")"). Note that using $OSTYPE is not portable ( bash and zsh have it, though). I've created a POSIX-compliant shell function here. – mklement0 May 14, 2015 at 13:27 Add a comment 6 Webscript_path=$ (readlink -e -- "$0") (assuming there's a readlink command and it supports -e) generally is a good enough way to obtain the canonical absolute path to the script. $0 is assigned from the argument specifying the script as passed to the interpreter. For example, in: the-shell -shell-options the/script its args $0 gets the/script. cuny public health phd
readlink(3): read contents of symbolic link - Linux man page
WebMar 28, 2024 · By using the specific flag it gives a pointer to the shell and tells us about that which shell are we using and that specific flag is -p $$. The command looks like. $ lsof -p $$ As you can see clearly in the 3rd line it tells us about the shell we are using. 5) Using readlink /proc/$$/exe: The readlink is used to print the file name. Webreadlink -f relative/path/to/file To get the directory of a file: dirname relative/path/to/file You can also combine the two: dirname $ (readlink -f relative/path/to/file) If readlink -f is not available on your system you can use this *: Webreadlink () places the contents of the symbolic link pathname in the buffer buf, which has size bufsiz. readlink () does not append a terminating null byte to buf. cuny public safety department