自动进入脚本路径
find / -type f -size +1G -exec du -h {} ; (找到大于1G的文件)
进入目录
cd "$( dirname "${BASH_SOURCE[0]}")"
!/bin/bash
定位脚本所在当前目录
BIN_FOLDER=$(cd "$(dirname "$0")";pwd)
echo $BIN_FOLDER
定位脚本所在父目录
PROJECT_FOLDER=$(cd "$(dirname "$BIN_FOLDER")";pwd)
echo $PROJECT_FOLDER
定位脚本所在父目录下的某文件
PYTHON_BIN=$PROJECT_FOLDER/.venv/bin/python
echo $PYTHON_BIN
BIN_FOLDER = $(cd "$(dirname "$0")";pwd)解析:
取当前运行脚本的所在路径:$0
取当前脚本所在路径的父目录:dirname "$0"
取返回的父目录的值:$(dirname "$0")
cd到返回的父目录:cd "$(dirname "$0")"
输出地址:cd "$(dirname "$0")";pwd
取输出的地址,并赋值给BIN_FOLDER:BIN_FOLDER = $(cd "$(dirname "$0")";pwd)
这样,就知道一些与当前脚本放在一起的文件相对路径,只要知道相对路径就可以根据这个目录来定位,而不用关心绝对路径。这样脚本的可移植性就提高了,扔到任何一台服务器都可以执行。
参考:https://blog.csdn.net/yjk13703623757/article/details/103347162?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-103347162-blog-103204196.pc_relevant_multi_platform_whitelistv4&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1-103347162-blog-103204196.pc_relevant_multi_platform_whitelistv4&utm_relevant_index=1
浙公网安备 33010602011771号