Rm
“rm -rf $dir”會返回假嗎?
我編寫了以下程式碼行來刪除目錄的內容。
rm -rf $dir && mkdir -p $dir
但是,如果第一個語句失敗,這將不起作用。它會返回 1 嗎?
當然,如果刪除的某些部分會違反權限。例如
$ mkdir -p p/q $ sudo chown root p p/q $ sudo chmod 700 p p/q $ rm -rf p rm: cannot remove 'p': Permission denied $ echo $? 1
但是請注意,您可以從屬於您的目錄中刪除不屬於您的目錄。
p
因此,如果我只嘗試沒有“內容”,上述內容不會失敗。
是的,如果您無權刪除
$dir
,rm
則將失敗,-r
我認為如果根本無法刪除任何內容,它將失敗。例如,
$ mkdir test_dir $ sudo chown root.root test_dir $ cd test_dir # we no longer have write permission to . $ sudo mkdir new_dir $ rm -rf new_dir rm: cannot remove 'new_dir': Permission denied $ echo $? 1