Rm
如何使“是”成為 rm -i 的預設值
我想查看一長串被刪除的文件,它們不是很重要,所以如果我不小心刪除了其中一些也沒問題,但我還是想保存一些。
如何撥打電話
rm -i ./*
並收到提示rm: remove regular file 'myfile'?
,但將預設設置為(是/否)中的“是”?
沒有什麼能阻止您在 周圍創建自己的層
rm
,無論是作為函式還是腳本。(我個人更喜歡腳本。)將其複製到文件
yrm
中,將其放在您$PATH
(例如/usr/local/bin
)中的目錄中,並使其可執行(chmod a+x /usr/local/bin/yrm
):#!/bin/sh # fails=0 # Number of failures is presented as exit status for item in "$@" do # Skip directories if [ -d "$item" ] then printf '%s: skipping directory\n' "$item" >&2 fails=$((fails+1)) continue fi # Prompt the user printf "%s: remove regular file '%s' (Y/n)? " "${0##*/}" "$item" >&2 read yn || exit $((fails+1)) # Either no response or "y" is good enough for deletion if [ -z "$yn" ] || [ y = "$yn" ] then rm "$item" </dev/null # No -f so we expose error messages [ $? -gt 0 ] && fails=$((fails+1)) fi done # Report failures (0=success) exit $fails
然後,您可以在沒有標誌和一個或多個文件的情況下呼叫它。例如,
yrm *.txt