Linux

如何創建shell腳本以循環刪除特定文件

  • September 10, 2019

實際上,我打算創建一個執行的 shell 腳本,它應該每隔 5 秒連續刪除特定的文件/文件夾,這是由應用程序不斷生成的

$$ Below data being used is a dummy so that it becomes easy to understand and probably help others too in general $$ 目標應用程序包名稱- com.example.mypackage

目標應用啟動活動名稱- com.activity.launcher

目標應用要刪除的文件- /sdcard/Android/data/app/log1 , /sdcard/Android/data/app/log2

刪除間隔:每 5 秒

開始觸發點:僅在我執行 shell 腳本之後

結束點:刪除循環過程應該在目標應用程序不再活動後自動結束(因此上面提到了活動名稱)

這是我想出的一個簡短的 bash 腳本。請注意,您需要將logger\.shgrep 語句中的名稱替換為您要監視的程序的名稱。在這種情況下,它正在檢查名為“logger.sh”的程序並獲取 PID。

#!/bin/bash

pid=$(ps aux | grep "logger\.sh" | head -n 1 |  awk '{print $2}');

if [ "$pid" != "" ] 
   then
   pidFound=1;
   while [ "$pidFound" = 1 ]
   do
       rm /sdcard/Android/data/app/log1;
       rm /sdcard/Android/data/app/log2;
       sleep 5;
       pid=$(ps aux | grep "logger\.sh" | head -n 1 |  awk '{print $2}');
       if [ "$pid" != "" ]; then
           pidFound=1;
       else
           pidFound=0;
           break
       fi
   done
fi

引用自:https://unix.stackexchange.com/questions/540033