rm -rf $ TIGER/$ {LION}/$ {RABBIT}/*和rm -rf $ TIGER/$ {LION}/$ {RABBIT}之间的区别是什么?

use*_*590 0 shell scripting ksh csh

我需要理解它们之间的差异,rm -rf $TIGER/${LION}/${RABBIT}/* and rm -rf $TIGER/${LION}/${RABBIT}以便在脚本中放置它不会产生灾难,使它在没有设置变量的情况下从root中删除所有内容.在csh/ksh中使用rm -rf的安全方法是什么?

感谢帮助 !!

Cha*_*ffy 8

如果变量都未设置,那么这些命令中的任何一个都会造成灾难; 它们的区别仅在于它们是删除目录本身还是非隐藏内容.

如果您希望安全地从根目录中递归删除,请明确测试该情况并取消:

[[ $TIGER && $LION && $RABBIT ]] || {
  echo "TIGER, LION and RABBIT must all be set; script exiting"
  exit 1
}
rm -rf ...
Run Code Online (Sandbox Code Playgroud)