Linux shell中如何获取当前目录
更新时间:2023年07月25日 09:59:48 作者:sayyy
这篇文章主要介绍了Linux shell中如何获取当前目录问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Linux shell中获取当前目录
当前目录
每当你在终端进行操作时,你都会有一个当前工作目录。
使用pwd来判定当前目录在文件系统内的确切位置。
[root@localhost ~]# pwd /root
在shell中也可以使用pwd来获取当前目录,并赋值给变量。
#!/bin/bash CRTDIR=$(pwd)
工作目录
获取当前执行的脚本文件的父目录。
workdir=$(cd $(dirname $0); pwd)
复杂点的工作目录获取
PRG="$0" while [ -h "$PRG" ] ; do ls=`ls -ld "$PRG"` link=`expr "$ls" : '.*-> \(.*\)$'` if expr "$link" : '/.*' > /dev/null; then PRG="$link" else PRG=`dirname "$PRG"`/"$link" fi done PRGDIR=$(cd $(dirname $PRG); pwd)
shell脚本常用语法——获得当前目录
1.获得shell脚本所在的绝对路径
CURRENT_DIR=$(cd $(dirname $0); pwd)
或者
CURRENT_DIR=$(cd `dirname $0`; pwd)
执行步骤解析:
dirname $0
: 取得当前执行的脚本文件所在的目录;cd
: 进入当前工作目录;pwd
: 显示当前工作目录;
将当前工作目录输出给变量CURRENT_DIR。
2.获得shell脚本所在目录的父级目录的绝对路径
由于能1 获得shell脚本所在的绝对路径,那么同理,就可以获得脚本所在目录的父级目录的绝对路径。
PARENT_DIR=$(cd $(dirname $0);cd ..; pwd)
只是在pwd命令之前添加了cd ..到父级目录。
注意:
$()
与``
作用一样,用于shell命令的执行。dirname
: 显示最后一个结点前的路径;相对的,basename: 显示最后一个结点的名称。$0
: 脚本的路径名称,包含脚本本身的名称。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Linux Shell在目录下使用for循环结合if查找文件的巧用
今天小编就为大家分享一篇关于Linux Shell在目录下使用for循环结合if查找文件的巧用,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-03-03完美解决ntp的错误问题no server suitable for synchronization fo
下面小编就为大家带来一篇完美解决ntp的错误问题no server suitable for synchronization fo。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-03-03
最新评论