首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在shell脚本中打印当前目录之前的目录?

在shell脚本中,可以使用dirname命令来打印当前目录之前的目录。dirname命令会返回指定路径的父目录。

以下是使用dirname命令打印当前目录之前的目录的示例代码:

代码语言:txt
复制
#!/bin/bash

current_dir=$(dirname "$PWD")
echo "当前目录之前的目录是:$current_dir"

运行以上脚本,将会输出当前目录之前的目录。

注意:dirname命令会忽略结尾的斜杠,因此如果当前目录是根目录,则dirname命令会返回.

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

原 shell脚本中的逻辑判断,文件目录属

shell脚本中的逻辑判断: 逻辑判断表达式:if [ $a -gt $b ]; if [ $a -lt 5 ]; if [ $b -eq 10 ]等 -gt (>); -lt(=);...a=1 那么 a 就不>3 所以就不满足条件,就是else 第三种格式:if …; then … ;elif …; then …; else …; fi 文件目录属性判断: 【 if file 】 判断是否是普通文件...,切存在 【-d file 】判断是否是目录,且存在 【 -e file 】判断文件或目录是否存在 【 -r file 】判断文件是否可读 可写 可执行 = 类似 判断的不同写法:【 -f $f 】||...-e file ]; then 表示文件不存在时会怎么样 if (($a<1)); then …等同于 if [ $a -lt 1 ]; then… [ ] 中不能使用,==,!...: 在网卡系统服务脚本中,如,/etc/init.d/iptables中就用到了case 在case中,可以在条件中使用“|”,表示或的意思 输入一个同学的分数,判断成绩是否及格,优秀。

1.5K51
  • shell脚本一键找出占用较大的目录

    当服务器磁盘告警的时候,为了找出占用空间较大的目录,通常使用du命令,类似如下:# 先从根目录开始找du -hc --max-depth=1 /然后找到大的目录后,再cd进去,再次执行 du -hc -...除了上面的这种人肉操作外,还可以使用下面的脚本# 找到占用磁盘空间比较大的目录# 用法: sh xx.sh /var 3# 参数1 目录名(必传参数)# 参数2 遍历的深度(不传则默认5层)#路径dir...=${1:-/}#目录深度depth=${2:-5}#排除非查找目录exclude_dir=$(df | grep -wv ${dir} | awk 'NR>1{print "--exclude="$6...""}')#du命令根据深度与目录计算echo "$(date +'%Y-%m-%d %H:%M:%S') 正在分析计算目录${dir}大小,深度为${depth}"echo "时间可能较长,请耐心等待...exclude_dir} ${dir} 2>/dev/null | awk '$1~/G$/{print$0}'echo "$(date +'%Y-%m-%d% H:%M:%S')分析计算结束"ps:上面的这个脚本来自网上

    10010

    shell脚本中的逻辑判断,文件目录属性判断,if特殊用法,case语句

    笔记内容: 20.5 shell脚本中的逻辑判断 20.6 文件目录属性判断 20.7 if特殊用法 20.8/20.9 case判断 笔记日期:2017-11-22 20.5 shell脚本中的逻辑判断...官方指定的是使用的方括号那种形式,不过具体按个人喜好吧,我还是比较推荐官方指定的那种形式。 关于shell中的逻辑运算符: &&  与 ||  或 20.6 文件目录属性判断 ?...3. [ -e file ] 判断文件或目录是否存在,代码示例: ? 文件或目录存在则打印变量,不存在则打印“not fount” 运行结果: ?...以上判断一个文件是否可读、可写、可执行,是基于当前用户的权限来判断的,所以就是判断当前的用户是否对这个文件拥有这些权限。...这个脚本是让用户输入一个数字,这个数字代表成绩分数,以这个分数来判断成绩属于什么等级,并且将结果打印出来。

    3.6K30

    在Bash shell脚本中如何检查一个目录是否存在

    问: 在 Bash shell 脚本中什么命令检查某个目录是否存在?...答: 要检查目录是否存在,请执行以下操作: if [ -d "$DIRECTORY" ]; then echo "$DIRECTORY does exist." fi 一行代码的形式则如下: [...如果不考虑符号链接到目录的情况,后续命令可能无法按预期工作,因为符号链接也会通过这个检查。...在 Unix 的早期设计中,许多系统资源都被抽象为文件,以实现统一和一致的接口处理,这样程序员可以使用相同的系统调用来操作不同的资源,如普通文件、目录、设备等。...这种哲学影响了许多 Unix-like 的操作系统,包括 Linux。 这里顺便整理一下 Bash 中对文件的各种测试: -a file -- 如果文件存在则为真。

    37610

    如何在Linux系统中列出当前目录下的所有文件和文件夹?

    如何在Linux系统中列出当前目录下的所有文件和文件夹? 摘要 在这篇技术博客中,我将详细介绍如何在Linux系统中列出当前目录下的所有文件和文件夹。...引言 在日常使用Linux系统时,我们经常需要查看当前目录下的所有文件和文件夹,以便更好地管理和组织我们的工作。了解如何列出当前目录下的所有内容是非常基础且实用的技能。...本文将深入探讨几种常用的方法,并提供详细的示例,帮助您快速上手。 正文内容 详细介绍 在Linux系统中,有几种方法可以列出当前目录下的所有文件和文件夹。...通过本文的学习,您现在应该已经了解了几种在Linux系统中列出当前目录下所有文件和文件夹的方法。...同时,也可以关注Linux系统的发展,以及新的文件管理工具的出现,为我们的工作带来更多便利。 参考资料 Linux ls命令文档 Linux命令行与Shell脚本编程大全

    48010

    使用Shell脚本遍历子目录下所有文件的方法

    最近博客进行了搬家,CDN源发生改变,想着在CDN上将博客所有图片刷新预热一遍,那么问题来了,刷新预热需要得到所有图片地址,于是直接使用Shell脚本递归遍历wp-content/uploads目录先得到图片文件路径...创建Shell脚本 使用vi编辑器,先创建一个vi traveDir.sh文件,复制下面的脚本代码: #!...chmod +x traveDir.sh 使用方法 上一个步骤已将脚本创建完毕,接下来只需要执行....11/snipaste_20191110_102750.png这个样子的,直接使用文本工具,将/data/wwwroot/xiaoz.me/批量替换为您自己的域名,然后将URL提交到CDN服务商进行刷新预热...总结 脚本批量导出文件路径 文本工具将站点根目录批量替换为自己的域名 提交URL刷新 脚本比较简单,网上一搜一大把,此文参考了:使用Shell遍历目录及其子目录中的所有文件方法

    1.6K20

    如何在Linux中删除目录的所有文件?

    本文将详细介绍如何在Linux中删除目录的所有文件,包括使用常见的命令和技巧进行操作。删除目录下的所有文件在Linux中,有几种方法可以删除目录下的所有文件。...使用 -r 选项可以递归地删除目录及其子目录中的文件。...-print0选项表示以空字符作为分隔符打印文件名,以处理文件名中的特殊字符。|管道符将find命令的输出传递给xargs命令。-0选项告诉xargs命令使用空字符作为分隔符。...删除操作是不可逆的,一旦文件被删除,将无法恢复。请确保在操作之前备份重要文件。此外,为避免不必要的风险,请确保在删除操作前仔细检查要删除的文件和目录,并验证您的命令参数。...请牢记删除操作是不可逆的,谨慎操作并确保在删除之前备份重要文件。

    17.1K40

    linux中的15个pwd(打印工作目录)命令示例

    pwd 代表 打印工作目录。顾名思义,命令 pwd 打印当前的工作目录,或者只是用户当前所在的目录。它使用从根 (/)开始的完整路径打印当前目录名称。...如果在提示中没有指定选项,pwd 将避免所有符号链接,即考虑选项 -P。 命令 pwd 的退出状态: 1.打印您当前的工作目录。...移动到新创建的目录并打印带符号链接和不带符号链接的工作目录。 在您的主目录中创建文件夹 /var/www/html 作为 htm 的符号链接并移动到它。.../usr/share/man/man1/pwd.1.gz 15.编写一个 shell 脚本来分析主目录中的当前目录(比如rumenz)。如果你在rumenz目录下,它会输出 好吧!...让我们首先创建一个'rumenz'目录,在它下面创建一个名为'pwd.sh'的 shell 脚本文件。

    3.9K20

    如何在git中删除指定的文件和目录

    部分场景中,我们会希望删除远程仓库(比如GitHub)的目录或文件。...具体操作 拉取远程的Repo到本地(如果已经在本地,可以略过) $ git clone xxxxxx 在本地仓库删除文件 $ git rm 我的文件 在本地仓库删除文件夹 $ git rm -r...我的文件夹/ 此处-r表示递归所有子目录,如果你要删除的,是空的文件夹,此处可以不用带上-r。...提交代码 $ git commit -m"我的修改" 推送到远程仓库(比如GitHub) $ git push origin xxxxxx 补充: git rm 查看git rm的说明文档: $ git...-n, --dry-run 演习 -q, --quiet 不列出删除的文件 --cached 只从索引区删除 -f, --force 忽略文件更新状态检查 -r 允许递归删除 --ignore-unmatch

    3.5K20

    如何从Bash脚本本身中获得其所在的目录

    问: 如何从Bash脚本本身中获得其所在的目录? 我想使用Bash脚本作为另一个应用程序的启动器。我想把工作目录改为Bash脚本所在的目录,以便我可以对该目录下的文件进行操作,像这样: $ ....但是在以相对路径的方式去执行脚本时,获取的目录信息是相对路径,不能满足其他需要获取绝对路径的场景。 如果要获取绝对路径,可以使用如下方法: #!...测试结果如下: 另外,可以根据第一种方法结合使用 realpath 命令,也可获取脚本所在目录的绝对路径: #!...编程中$(cmd) 和 `cmd` 之间有什么区别 为什么我不能在脚本中使用"cd"来更改目录 为什么在可执行文件或脚本名称之前需要..../(点-斜杠),以便在bash中运行它 shell脚本对编码和行尾符敏感吗

    34920

    Python3 将源目录中的图片根据设定最长边参数保存到目标目录脚本(Image 的使用)

    如果我们给客户制作网站,客户会发送过来一堆的图片,这些图片一般都是通过手机或者数码相机拍摄的。有一个问题就是这些图片会比较大。那我们就需要对这些图片进行压缩的处理,这就是我写的这个脚本的实际用途。...img) simg_w = simg.size[0] simg_h = simg.size[1] # 如果原图片宽高均小于设置尺寸,则将原图直接复制到目标目录中...只设置了最长边参数以及源目录 ? 脚本会提示,不设置目标目录则会覆盖源文件,直接回车,或者输入 Y 或者 y 确认,输入 N 或者 n 则退出程序。 设定了目标目录,但目标目录不存在 ?...脚本会提示目标目录不存在,直接回车,或者输入 Y 或 y 则会创建这个目录,输入 N 或者 n 则退出程序。 正常以及报错状态 ?...代码解析 首先,要写命令行的脚本,就需要处理各种各样的参数,所以,argparse 库是必不可少的 Python os 库对文件夹的常见用法 # 判断目录是否存在 os.path.exists(__dir

    1.2K30

    linux学习第六十四篇:Shell脚本中的逻辑判断,文件目录属性判断, if特殊用法,case判断

    Shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if …; then … ;elif …; then...-f file ]判断如果不是普通文件且不存在 [ -d file ] 判断是否是目录,且存在 [ -e file ] 判断文件或目录是否存在 [ -r file ] 判断文件是否可读 [ -w file...] 判断文件是否可写 [ -x file ] 判断文件是否可执行 if特殊用法 if [ -z “$a” ] 这个表示当变量a的值为空时会怎么样 if [ -n “$a” ] 表示当变量a的值不为空...-e file ]; then 表示文件不存在时会怎么样 if ((a<1));then…等同于if[a<1)); then …等同于 if [ a -lt 1 ]; then… [ ] 中不能使用的意思, 比如 2|3) command ;; shell脚本案例 #!

    1.3K60

    shell脚本运行jar包获取参数_linux加载一个目录下的所有jar包

    大家好,又见面了,我是你们的朋友全栈君。 当使用SpringBoot框架时,他自己集成了tomcat。在启动jar包时,经常需要复制一大段命令,尤其是在项目目录发生改变的时候,实在繁琐。...所以可以使用shell脚本来启动、关闭和重启Java项目。 创建一个shell脚本 vim 脚本名.sh 脚本内容: #!.../bin/bash #这里替换为你自己的执行程序的名称 JAR_NAME=jar包名称 #lib目录 LOAD_PATH="-Dloader.path=/home/local/lib/" #项目配置文件...stop") stop ;; "status") status ;; "restart") restart ;; *) usage ;; esac 使用示例: #启动jar包 sh 脚本名...如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.8K20
    领券