Linux shell中如何获取当前目录

 更新时间:2023年07月25日 09:59:48   作者:sayyy  
这篇文章主要介绍了Linux shell中如何获取当前目录问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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)

shell脚本常用语法——获得当前目录

1.获得shell脚本所在的绝对路径

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

或者

CURRENT_DIR=$(cd `dirname $0`; pwd)

执行步骤解析:

  • dirname $0: 取得当前执行的脚本文件所在的目录;
  • cd: 进入当前工作目录;
  • pwd: 显示当前工作目录;

将当前工作目录输出给变量CURRENT_DIR。

2.获得shell脚本所在目录的父级目录的绝对路径

由于能1 获得shell脚本所在的绝对路径,那么同理,就可以获得脚本所在目录的父级目录的绝对路径。

PARENT_DIR=$(cd $(dirname $0);cd ..; pwd)

只是在pwd命令之前添加了cd ..到父级目录。

注意:

  • $()``作用一样,用于shell命令的执行。
  • dirname: 显示最后一个结点前的路径;相对的,basename: 显示最后一个结点的名称。
  • $0: 脚本的路径名称,包含脚本本身的名称。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Linux vim编辑命令模式

    Linux vim编辑命令模式

    vi(vim)是上Linux非常常用的编辑器,很多Linux发行版都默认安装了vi(vim)。这篇文章给大家介绍了Linux vim编辑命令模式,非常不错,感兴趣的朋友参考下吧
    2016-11-11
  • Linux 编程之进程fork()详解及实例

    Linux 编程之进程fork()详解及实例

    这篇文章主要介绍了Linux 编程之进程fork()详解及实例的相关资料,需要的朋友可以参考下
    2017-03-03
  • 一篇通俗的Linux Shell体验教程

    一篇通俗的Linux Shell体验教程

    Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。本文将简单介绍Linux shell体验,感兴趣的小伙伴可以参考一下
    2023-05-05
  • shell 使用指定的分割符来分割字符串的方法

    shell 使用指定的分割符来分割字符串的方法

    这篇文章主要介绍了shell 使用指定的分割符来分割字符串的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • shell批量curl接口脚本的简单实现方法

    shell批量curl接口脚本的简单实现方法

    这篇文章主要跟大家介绍了关于shell批量curl接口脚本的简单实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用shell具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-08-08
  • shell脚本编程之循环语句

    shell脚本编程之循环语句

    这篇文章主要介绍了shell脚本编程之循环语句的相关资料,需要的朋友可以参考下
    2016-01-01
  • shell两个文件去重的多种姿势

    shell两个文件去重的多种姿势

    最近在利用shell帮公司优化挖掘关键词的流程,用shell替代了多个环节的操作,极大提高了工作效率。下面这篇文章就给大家分享了利用shell实现两个文件去重的多种姿势,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-12-12
  • Linux 下C语言获取文件大小

    Linux 下C语言获取文件大小

    这篇文章主要介绍了Linux 下C语言获取文件大小的相关资料,需要的朋友可以参考下
    2017-07-07
  • Bash中test命令的使用

    Bash中test命令的使用

    本文主要介绍了Bash中test命令的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • shell版Nginx日志蜘蛛爬取查看脚本

    shell版Nginx日志蜘蛛爬取查看脚本

    这篇文章主要介绍了shell版Nginx日志蜘蛛爬取查看脚本的相关资料,需要的朋友可以参考下
    2015-03-03

最新评论