带有RM -RF的bash中的清理目录和逃脱的通配符



我试图用此脚本清理一些dir。

它呼应了"removing from"行,但在没有删除文件的情况下退出。

我根据需要逃脱了通配符将其扩展。

我从sudo shell会话中运行。

我也看不到任何错误。

    #!/bin/bash
    declare -a paths=(      "OpsCenter/rollups300"
                            "OpsCenter/rollups60"
                            "table_a"
                            "table_b"
                            "table_c"
                            "table_d")
    for del_path in "${paths[@]}"
    do
            full_path="/var/lib/cassandra/data/$del_path/"
            echo "removing from" $full_path
            rm -rf "$full_path"/*
    done

编辑:

更改为 rm -rv "$full_path"/*后,我得到了输出

rm: cannot remove `/var/lib/cassandra/data/table_a/*': No such file or directory 

添加

ls -all "$full_path"*

到循环,ls命令的输出也为

cannot access `/var/lib/cassandra/data/table_a/*': No such file or directory 

虽然从命令行运行时具有相同路径的ls命令确实显示了那里的文件。

    ls -all /var/lib/cassandra/data/table_a/*
    /var/lib/cassandra/data/table_a/draft_msg:
    total 8
    drwxr-xr-x. 2 cassandra cassandra 4096 Sep 11 14:02 .
    drwxr-xr-x. 5 cassandra cassandra 4096 Sep 11 14:02 ..
    /var/lib/cassandra/data/table_a/threat_sub_type:
    total 48
    drwxr-xr-x. 4 cassandra cassandra 4096 Nov  3 01:01 .
    drwxr-xr-x. 5 cassandra cassandra 4096 Sep 11 14:02 ..
    drwxr-xr-x. 2 cassandra cassandra 4096 Nov  3 01:01 backups
    -rw-r--r--. 3 cassandra cassandra   43 Nov  3 01:01 table_a-threat_sub_type-jb-3-CompressionInfo.db
    -rw-r--r--. 3 cassandra cassandra  539 Nov  3 01:01 table_a-threat_sub_type-jb-3-Data.db
    -rw-r--r--. 3 cassandra cassandra   16 Nov  3 01:01 table_a-threat_sub_type-jb-3-Filter.db
    -rw-r--r--. 3 cassandra cassandra   35 Nov  3 01:01 table_a-threat_sub_type-jb-3-Index.db
    -rw-r--r--. 3 cassandra cassandra 4418 Nov  3 01:01 table_a-threat_sub_type-jb-3-Statistics.db
    -rw-r--r--. 3 cassandra cassandra  131 Nov  3 01:01 table_a-threat_sub_type-jb-3-Summary.db
    -rw-r--r--. 3 cassandra cassandra   79 Nov  3 01:01 table_a-threat_sub_type-jb-3-TOC.txt
    drwxr-xr-x. 5 cassandra cassandra 4096 Nov 15 09:01 snapshots
    /var/lib/cassandra/data/table_a/threat_type:
    total 48
    drwxr-xr-x. 4 cassandra cassandra 4096 Nov  3 01:01 .
    drwxr-xr-x. 5 cassandra cassandra 4096 Sep 11 14:02 ..
    drwxr-xr-x. 2 cassandra cassandra 4096 Nov  3 01:01 backups
    -rw-r--r--. 3 cassandra cassandra   43 Nov  3 01:01 table_a-threat_type-jb-3-CompressionInfo.db
    -rw-r--r--. 3 cassandra cassandra  739 Nov  3 01:01 table_a-threat_type-jb-3-Data.db
    -rw-r--r--. 3 cassandra cassandra   16 Nov  3 01:01 table_a-threat_type-jb-3-Filter.db
    -rw-r--r--. 3 cassandra cassandra   35 Nov  3 01:01 table_a-threat_type-jb-3-Index.db
    -rw-r--r--. 3 cassandra cassandra 4408 Nov  3 01:01 table_a-threat_type-jb-3-Statistics.db
    -rw-r--r--. 3 cassandra cassandra  131 Nov  3 01:01 table_a-threat_type-jb-3-Summary.db
    -rw-r--r--. 3 cassandra cassandra   79 Nov  3 01:01 table_a-threat_type-jb-3-TOC.txt
    drwxr-xr-x. 6 cassandra cassandra 4096 Nov 15 09:01 snapshots

看起来您的bash session已禁用路径名扩展, set -f

您可以在脚本中 set +f并检查它是否有效。

最新更新