迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中查找当前文件夹名称

作者:迹忆客 最近更新:2023/05/18 浏览次数:

通过 Bash 脚本查找目录非常容易。 但是找到您现在所在的确切目录文件夹名称有点复杂。

本文将介绍三种从本文目录中查找文件夹名称的方法。 此外,我们将看到必要的示例和解释,以使主题更容易理解。


在 Bash 中查找当前文件夹名称

为此,我们将使用一个特殊的关键字:PWD。 Bash 中的这个内置关键字用于查找当前工作目录。

在下面的示例中,我们将找到我们现在所在的文件夹名称。 我们示例的代码如下所示。

current_dir=${PWD##*/}
echo "$current_dir"

以上是完成任务的最简单方法。 但是我们的下一个例子有点复杂。

我们将使用下面的示例找到文件夹名称。

Current_Dir=${PWD##*/}
Current_Dir=${Current_Dir:-/}
printf '%s\n' "${PWD##*/}"
printf '%q\n' "${PWD##*/}"

在上面的示例中,我们使用 Current_Dir=${PWD##*/} 行分配一个变量,并通过 Current_Dir=${Current_Dir:-/} 行我们更正了 PWD=/ 的情况。

之后,您可以使用接下来两行中的任何一行。 这两行都将打印到标准输出。

但是第一行比 echo 对于一些不寻常的名称更健壮,其中第二行被引用用作 shell 输入,并且它对于使隐藏字符可读也很有用。 运行上面的脚本后,你只会得到当前目录的文件夹名称。

我们也可以通过下面的示例执行类似的任务。 在这里,我们将整个目录放在一个变量中。

我们下一个示例的代码如下所示。

DirectoryStr=/path/to/somewhere//
shopt -s extglob
CurrentDir=${DirectoryStr%%+(/)}
CurrentDir=${CurrentDir##*/}
CurrentDir=${CurrentDir:-/}
printf '%s\n' "$CurrentDir"

让我们逐个解释这个例子。

  1. 在第一行,我们创建一个变量并将目录路径作为字符串分配给它。
  2. 然后,通过 shopt -s extglob 行,我们启用了 +(...) glob 语法。
  3. 通过 CurrentDir=${DirectoryStr%%+(/)} 这行,无论字符串中存在多少个尾部斜杠,我们都对字符串进行了修剪。
  4. 通过 CurrentDir=${CurrentDir##*/} 这行,我们删除了最后一个 / 之前的所有内容。
  5. 我们刚刚通过 CurrentDir=${CurrentDir:-/} 行更正了目录大小写。
  6. 最后,我们刚刚打印了目录文件夹。

本文中使用的所有代码都是用 Bash 编写的。 它只会在 Linux Shell 环境中工作。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

批处理脚本中的 For 循环

发布时间:2023/05/19 浏览次数:103 分类:操作系统

本篇文章将介绍如何在批处理脚本中使用 FOR 循环。循环用于连续执行特定任务,直到达到程序员指定的次数。 这个 FOR 循环有不同的版本。

批处理脚本中的 For \F

发布时间:2023/05/19 浏览次数:151 分类:操作系统

本文将讨论在批处理脚本中使用 FOR /F 循环。在批处理脚本中使用 FOR /F 循环 此类 FOR 循环的一般格式如下所示:

批处理文件循环遍历子目录中的文件

发布时间:2023/05/19 浏览次数:163 分类:操作系统

本文说明了我们如何编写一个批处理脚本来循环遍历子目录中的文件。 我们将举一个例子来解释这个概念。批处理文件循环遍历子目录中的文件

批处理文件删除文件名的 X 个字符

发布时间:2023/05/19 浏览次数:136 分类:操作系统

本文说明了我们如何使用批处理脚本从文件的文件名中删除特定字符。 我们将在下面介绍在 Windows 上重命名文件的几种方法。Windows 上的文件资源管理器重命名

在批处理脚本中声明变量

发布时间:2023/05/19 浏览次数:69 分类:操作系统

本文将演示如何在批处理脚本中声明和定义变量。在批处理脚本中声明变量。在 Batch 中,不需要使用任何其他关键字来声明整数、浮点数、双精度或字符串类型变量。

在批处理脚本中将文件读入变量

发布时间:2023/05/19 浏览次数:174 分类:操作系统

本文将向我们展示如何将整个文件内容放入一个变量中,此外,我们还将看到一个示例和解释,以使该主题更容易理解。使用FOR循环批量读取变量中的文件

Batch 检查指定的环境变量是否包含子字符串

发布时间:2023/05/19 浏览次数:108 分类:操作系统

本文讨论如何使用 Batch 命令来测试某个环境变量是否包含特定的子字符串。 我们将介绍可以在上述场景中使用的两个批处理脚本。检查指定的环境变量是否包含子字符串

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便