Linux Shell 脚本 - 如何获取参数 $n 的上层目录

标签 linux bash shell parameters directory

在我的脚本中,我收到一个 .tgz 文件作为参数 $1,我必须在临时目录中过滤其元素的大小,创建一个新文件并重写原始文件。

如果 $1"~/Directory/File.tgz",我需要知道热点才能到达 "~/Directory" 这样我就可以使用它了。

这是我的代码:

dtemp=`mktemp -d ./tmpdirXXX`
    cp $1 $dtemp #Copy
    cd $dtemp
    comprimido=`find ./ -name "*.tgz"`
    tar xzvf $comprimido
    rm $comprimido

    for archivo in *
    do
        Tarchivo=`du -b "$archivo" | cut -f1`
        if test 70192 -lt $Tarchivo
        then
            echo "$archivo es mayor de 8KB"
            rm -r $archivo
        fi
    done

    tar czvf $1 $dtemp
    rm -r $dtemp

最后两行不行,说文件或目录不存在。

感谢您的帮助!

最佳答案

最后两行不起作用,因为您cd 到临时目录,但从未cd 返回。

关于Linux Shell 脚本 - 如何获取参数 $n 的上层目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21798527/

相关文章:

linux - tty 子系统有什么用?

c - 带有 LCD 错误消息的 Bash ping 脚本

bash - 如何在开头添加带空格的行,并在末尾添加反斜杠?

linux - 需要一些关于 shell 脚本的帮助(使用 grep 命令)

php - Jorani - 无法加载请求的语言文件 : language/fr/global_lang. php

linux - 在 Bash 中,如何在 read -es 后输出一个新行?

python - Zenmap 结果与自定义端口扫描不一致

linux - tar 创建一个空文件夹,我该如何摆脱它?

java - 将值传递给 Channel System.in

linux - 从 "find"输出中删除特殊字符