菜鸟笔记
提升您的技术认知

Linux shell 中获取当前目录的方法

当前目录

每当你在终端进行操作时,你都会有一个当前工作目录。 使用pwd来判定当前目录在文件系统内的确切位置。

[root@localhost ~]# pwd
/root

shell中也可以使用pwd来获取当前目录,并赋值给变量。

#!/bin/bash
CRTDIR=$(pwd)

工作目录

获取当前执行的脚本文件的父目录。

workdir=$(cd $(dirname $0); pwd)

复杂点的工作目录获取

PRG="$0"
while [ -h "$PRG" ] ; do
  ls=`ls -ld "$PRG"`
  link=`expr "$ls" : '.*-> \(.*\)$'`
  if expr "$link" : '/.*' > /dev/null; then
    PRG="$link"
  else
    PRG=`dirname "$PRG"`/"$link"
  fi
done
PRGDIR=$(cd $(dirname $PRG); pwd)