获取当前脚本路径
SCRIPT_PATH=$(readlink -f "$0") # 获取脚本的绝对路径 SCRIPT_FOLDER=$(dirname "$SCRIPT_PATH") # 从绝对路径中获取脚本所在目录 echo $SCRIPT_FOLDER
该方法适用于软链接情况:即使执行的时只向脚本的软链接,此方法依旧可以获取脚本的绝对路径,而不是软链接的路径;
删除指定目录以外的目录
Remove all files except some from a directory
shopt -s extglob rm !(textfile.txt|backup.tar.gz|script.php|database.sql|info.txt)
文件或目录查找
获取某个目录下的 Git 仓库
# 这招是从 OpenJDK 的源码中学的:「make/scripts/hgforest.sh」 ls -d ./.git ./*/.git ./*/*/.git ./*/*/*/.git ./*/*/*/*/.git 2>/dev/null
参考文献
Unix shell script find out which directory the script file resides? – Stack Overflow