【问题标题】:Linux Shell Script - How to get the upper directory of a parameter $nLinux Shell 脚本 - 如何获取参数 $n 的上层目录
【发布时间】:2014-03-14 22:41:36
【问题描述】:

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

如果 $1"~/Directory/File.tgz",我需要知道 hot 才能到达 "~ /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

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

感谢您的帮助!

【问题讨论】:

  • dirname "$1" 会给你目录名称。
  • 分配给一个变量,比如dir=$(dirname "$1")

标签: linux bash shell parameters directory


【解决方案1】:

您的最后两行不起作用,因为您 cd'd 到了临时目录,但从未 cd'd 回来。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-25
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 2020-07-28
    • 2022-06-16
    • 1970-01-01
    • 2010-10-15
    相关资源
    最近更新 更多