给一个程序写了一个脚本,但里面使用了当前路径,错误会导致不能启动。因此每次只能 cd 到bin下去执行脚本,挺麻烦的,今天找了个命令来解决这个问题
mac下,没找到tree命令,使用如下命令代替:
find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'
下面是应用的目录:
.
|____bin
| |____start.sh
|____lib
|____log
脚本
#!/bin/sh
# cd 命令好说, 后面的命令是:取得当前执行的脚本文件的父目录,即bin目录
cd `dirname $0`
# 上面命令进入脚本的目录,然后获取当前脚本所在目录
SCRIPT_PATH=`pwd`
# 这个命令,用于取 bin 目录的上级目录,及应用的根目录
CURRENT_PATH=${SCRIPT_PATH%/*}
# 后续可以使用 $CURRENT_PATH 做一些事了