Bash查找当前执行的位置
我在一个目录(即dir1/dothis.sh)中有一个shell程序——当我将cd刻录到该目录和./dothis.sh时,该程序运行良好 如果我用一个新名字为那个导演创建了一个ln-dir2和do dir2/dothis.sh 它将执行,但它认为当前的执行路径是dir2指向的新dir 在dothis.sh中-如何找到dothis.sh的实际位置?我遇到的问题是dir1/dothis.sh可以从一个系统重新定位到另一个系统,因此无法保证dir1/dothis.sh可以是硬代码Bash查找当前执行的位置,bash,shell,unix,Bash,Shell,Unix,我在一个目录(即dir1/dothis.sh)中有一个shell程序——当我将cd刻录到该目录和./dothis.sh时,该程序运行良好 如果我用一个新名字为那个导演创建了一个ln-dir2和do dir2/dothis.sh 它将执行,但它认为当前的执行路径是dir2指向的新dir 在dothis.sh中-如何找到dothis.sh的实际位置?我遇到的问题是dir1/dothis.sh可以从一个系统重新定位到另一个系统,因此无法保证dir1/dothis.sh可以是硬代码 #!/bin/bas
#!/bin/bash
echo $0
a=`pwd`
echo $a
b=$a"/"$0
echo `dirname $b`
使用bash内置的
#!/bin/bash
echo "Current path: $PWD"
怎么样
dirname $(readlink -f $0)
它还将解析符号链接(如果有的话)…请向我们展示您的代码,以及您迄今为止的尝试。