始终在脚本目录运行的脚本
2020-11-18 本文已影响0人
Lupino
在 hack-editor 中,运行脚本是在终端里面运行,
但是终端的目录和脚本的目录不一定是同一个目录,
这样子使得脚本不能正常运行。
我们通过手动切换到脚本目录,运行,然后再切换回原来的目录,很好的解决。
我们写一个脚本来解决
- 声明用
bash
#!/usr/bin/env bash
- 设置脚本目录
ROOT=/data
- 当前终端目录
PREV=$(pwd)
- 要执行的文件
FILE=$1
- 获取执行用的是啥语言
PROG=bash
if [ "${FILE##*.}" = "py" ]; then
PROG=python3
${PROG} -c 'print()' >/dev/null 2>/dev/null || PROG=python
elif [ "${FILE##*.}" = "js" ]; then
PROG=node
fi
- 进入文件目录并执行脚本
DIRNAME=$(dirname ${FILE})
FILENAME=$(basename ${FILE})
cd ${ROOT}/${DIRNAME}
${PROG} ${FILENAME}
cd ${PREV}
有了这个脚本,我们只要在 hack-editor 点击运行就能直接运行脚本,哪怕不在同一个目录。