在 Shell 脚本中,如果你想返回上级目录(即当前脚本所在的父目录),可以使用以下几种方法:
方法 1:使用 cd 命令切换目录并返回当前目录
cd .. && echo "$PWD"
cd ..:切换到上级目录echo "$PWD":输出当前工作目录(即上级目录)
方法 2:使用 pwd 命令直接获取上级目录
pwd -P
pwd -P:输出当前路径的绝对路径,且不会进入符号链接,直接返回上级目录
方法 3:使用 dirname 命令
dirname "$PWD"
dirname:返回路径的目录名,即上级目录
方法 4:使用 read 命令读取上级目录
read -r dir <<< "$(pwd -P)"
echo "$dir"
$(pwd -P):获取当前路径的绝对路径read:读取变量并输出
示例脚本
#!/bin/bash
# 方法 1:切换目录并输出
cd .. && echo "上级目录是: $(pwd)"
# 方法 2:直接输出上级目录
echo "上级目录是: $(pwd -P)"
# 方法 3:使用 dirname
echo "上级目录是: $(dirname "$PWD")"
适用场景说明
- 如果你只是需要获取当前路径的上级目录,
pwd -P是最简单直接的方式。 - 如果你希望脚本在不改变当前目录的情况下获取上级目录,可以使用
dirname "$PWD"。
总结
| 方法 | 说明 | 适用场景 |
|---|---|---|
cd .. && echo "$PWD" |
切换到上级目录并输出 | 简单直接 |
pwd -P |
直接输出当前路径的绝对路径 | 无需切换目录 |
dirname "$PWD" |
返回路径的目录名 | 适用于需要路径信息的场景 |
如需进一步定制脚本功能,欢迎继续提问!
