0

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

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

无论如何我们可以在bash脚本中做吗?

4

2 回答 2

1

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

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

然后

"${parent}/my-layers"

有关如何获取父目录的更多详细信息,请参阅在 Bash中获取目录的父目录

于 2020-05-20T07:24:39.183 回答
1

我更喜欢使用这个技巧

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

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

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

于 2020-05-20T07:48:26.273 回答