2016-11-23 14 views
2

このスクリプトでいくつかのディレクトリをクリーンアップしようとしています。エスケープされたワイルドカードのrm -rfでbashのディレクトリをクリーンアップ

"removing from"行をエコーし​​ますが、ファイルを削除せずに終了します。

シェルを拡張するために、必要に応じてワイルドカードをエスケープしました。

sudoシェルセッションから実行します。

他にもエラーはありません。

#!/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 

EDIT:

rm -rv "$full_path"/*に変更した後、私はループに

ls -all "$full_path"\* 

を追加した後、私は、の出力を出力

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

を取得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 
+2

'rm -rf'を' rm -rv'で置き換えて出力します。 – Cyrus

+0

'rm'コマンドからreturmを確認できますか?例えば、rm [$? -ne 0] && echo "error rm command" –

+0

@RuslanOsmanov私は出力を列挙しました。 – alex440

答えて

0

bashセッションではパス名の拡張が無効になっているようです(set -f)。

スクリプト内でset +fとすることができ、それが機能するかどうかを確認できます。

関連する問題