[英]looping through directories and remove files
如果路徑 /home/*/.ssh/authorized_keys 存在,我想遍歷主文件夾並驗證。 如果它存在,我想刪除用戶的文件 .../.ssh/disabled_authorized_keys ,該文件已經在他的主文件夾中包含了 authorized_keys 文件。
到目前為止,我已經創建了這個腳本,但它會刪除所有 disabled_authorized_keys,而不僅僅是擁有authorized_keys 的用戶。
for i in /home/*/.ssh/authorized_keys;
do ii=`echo $i|awk -F '/' '{print $3}'` ;
rm /home/$ii/.ssh/disabled_authorized_keys;
done
先感謝您。 (我絕對是 bash 腳本的初學者!)
嘗試這個:
for path in /home/*/.ssh/authorized_keys; do
rm "$(dirname "$path")"/disabled_authorized_keys
done
如果disabled_authorized_keys
不存在,它會在 stderr 上抱怨,但不會“崩潰”。
for dir in /home/*/.ssh; do
[[ -e $dir/authorized_keys ]] && rm "$dir/disabled_authorized_keys"
done
[[ -e file ]]
檢查file
存在。 將&&
讀作“if-then”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.