【问题标题】:How to get previous directory in bash script? [duplicate]如何在 bash 脚本中获取上一个目录? [复制]
【发布时间】:2020-09-06 11:04:16
【问题描述】:

我现在正在编写 bash 脚本来获取我的项目中的项目目录。以下是我的文件夹结构。当我去api文件夹并输入pwd时,我会得到"/Users/ppshein/Documents/projects/api",但我想要的是我想从api文件夹中得到"/Users/ppshein/Documents/projects/my-layers"

├── README.md
├── api
├── node_modules
├── package.json
├── report
├── serverless.yml
├── webpack.config.js
└── my-layers

我们可以在 bash 脚本中做些什么吗?

【问题讨论】:

标签: node.js bash aws-lambda-layers


【解决方案1】:

你可以像这样获取父目录:

parent="$(dirname "$(pwd)")"

然后

"${parent}/my-layers"

有关如何获取父目录的更多详细信息,请参阅Getting the parent of a directory in Bash

【讨论】:

    【解决方案2】:

    我更喜欢使用这个技巧

    BASE_DIR=$(dirname $(readlink -m $0))

    这将获得包含您的脚本变量${BASE_DIR} 的目录。通常,它是您项目的根目录,或者至少您可以找到一些可以使用的东西。 ../ 类似的东西。

    好消息是它不使用像pwd 这样可能与环境相关的命令。这样你就可以在任何你喜欢的地方执行你的脚本,这在 crontab 中特别有用。

    【讨论】:

      猜你喜欢
      • 2010-09-08
      • 2017-01-26
      • 2014-11-22
      • 2022-06-16
      • 1970-01-01
      相关资源
      最近更新 更多