![查看所有 Bash/Shell 脚本相关的常见问题解答](https://www.alaica.com/wp-content/uploads/linux-114.png)
我正在编写一个 shell 脚本。我需要找出当前的工作目录。如何在 Linux 或类 Unix 操作系统上运行的 Bash 或 Ksh shell 下获取当前工作目录?
您可以使用名为 PWD 的 shell 变量或 pwd 内置命令来获取当前工作目录。cd 命令设置以下 shell 变量:
教程详情 | |
---|---|
难度级别 | 简单的 |
根权限 | 不 |
要求 | 重击/Ksh |
美东时间。阅读时间 | 1分钟 |
[a] OLDPWDcd 命令设置的上一个工作目录。
[b]PWD由 cd 命令设置的当前工作目录。
pwd命令 – 打印当前工作目录的名称。
句法
语法是:
echo "当前工作目录:$PWD " echo "上一个当前工作目录:$OPLDPWD " _cwd = " $PWD " ## 使用 pwd 命令 ## _mydir = " $(pwd) " ## 或 ## _mydir = " `pwd` " echo "我的工作目录: $_mydir "
外壳脚本示例
以下脚本使用 $PWD 两次来设置默认值并向系统管理员提供信息。
#!/bin/bash # 目的:设置文件权限为只读 # 作者:GPL v2.0+ 下的 example <www.example.com> # ---------------- ----------------------------------------------------------- # DocumentRoot权限 _dp = “0544” _fp = “0444” _sp = “0744” # Apache 用户/组 _user = "www-data" _group = "www-data" ## 如果未传递 $1,则使用 $PWD _dir = " ${1:-${PWD} }"设置为当前工作目录 ## 如果 $dir 不存在则死亡 [ ! -d " $_dir " ] && { echo "错误:找不到目录$_dir 。" ; 2号出口 ;} ## 获取确认 echo “我将更改网络服务器目录和文件的文件权限为限制性只读模式。” read -p “当前工作目录是${PWD}。您确定(y / n)吗?” 答案 ## 小写 $ans 并进行比较 if [ " ${ans,,} " == "y" ] then chown -R ${_user} : ${_group} " $_dir " chmod -R $_fp " $_dir " 菲