📅  最后修改于: 2023-12-03 15:27:51.521000             🧑  作者: Mango
当我们在编写Shell脚本时,经常需要获取当前脚本所在的目录。如何在Bash中获取脚本目录呢?下面介绍几种方法。
#!/bin/bash
# 获取当前脚本所在目录
dir=$(dirname "$0")
echo "$dir"
解释:$0
表示当前脚本的文件名,dirname
命令用于去掉文件名,只返回目录路径。
#!/bin/bash
# 获取当前脚本所在目录
dir=$(cd $(dirname $(readlink -f "$0")) && pwd)
echo "$dir"
解释:readlink -f "$0"
用来获取当前脚本的绝对路径,dirname
命令用于去掉文件名,cd
命令进入到目录,pwd
命令输出当前工作目录的路径。
#!/bin/bash
# 获取当前脚本所在目录
dir=$(cd $(dirname "${BASH_SOURCE[0]}") && pwd)
echo "$dir"
解释:${BASH_SOURCE[0]}
表示当前正在执行的脚本文件的文件名,dirname
命令用于去掉文件名,cd
命令进入到目录,pwd
命令输出当前工作目录的路径。
以上是三种常见的获取脚本目录的方法,可以根据实际情况选择合适的方法来使用。