I suggest the following:
dirname $(realpath $0)
Example:
skaerst@test01-centos7:~/Documents> ../test/path.sh dirname realpath: /home/skaerst/test skaerst@test01-centos7:~/Documents> cat ../test/path.sh #!/bin/bash echo "dirname realpath: $(dirname $(realpath $0))"
works with symbolic links because realpath uses -P by default:
skaerst@test01-centos7:~/Documents> ln -s ../test/path.sh p skaerst@test01-centos7:~/Documents> ./p dirname realpath: /home/skaerst/test
realpath is available with coreutils> 8.5, I think
skaerst@test01-centos7:~/Documents> rpm -qf $(which realpath) $(which dirname) coreutils-8.22-15.el7_2.1.x86_64 coreutils-8.22-15.el7_2.1.x86_64
Hth
Hi
Stephen
Stefankaerst
source share