Shell-获取脚本所在磁盘目录

Linux 中可以通过相对路径或绝对路径方式来执行脚本, 但是却未提供获取脚本绝对路径的命令. 而在日常脚本工具开发过程中, 我们可能会把脚本所在目录作为相对目录的基准目录来做一些操作, 比如在maven 项目中嵌入一个自动打包的工具.

1. 获取脚本测试

#!/bin/bash
#Desc 测试脚本所在绝对经
#Auth zongf
#Date 2019-01-25

script_name=`expr $0 : ".*\/\(.*\)"`
script_path=`cd $(dirname $0); pwd`
script_abs_name="$script_path/$script_name"

echo "脚本简单名称: $script_name"
echo "脚本所在目录: $script_path"
echo "脚本绝对路径名称: $script_abs_name"

2. 测试

2.1 相对路径测试

脚本简单名称: test-abs-path.sh
脚本所在目录: /tmp/zongf
脚本绝对路径名称: /tmp/zongf/test-abs-path.sh
$ 

$ ../zongf/test-abs-path.sh 
脚本简单名称: test-abs-path.sh
脚本所在目录: /tmp/zongf
脚本绝对路径名称: /tmp/zongf/test-abs-path.sh

2.2 绝对路径测试

$ /tmp/zongf/test-abs-path.sh 
脚本简单名称: test-abs-path.sh
脚本所在目录: /tmp/zongf
脚本绝对路径名称: /tmp/zongf/test-abs-path.sh

你可能感兴趣的:(linux)