Linux
如何創建shell腳本以循環刪除特定文件
實際上,我打算創建一個執行的 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\.sh
grep 語句中的名稱替換為您要監視的程序的名稱。在這種情況下,它正在檢查名為“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