linux 脚本判断目录是否存在,检查shell脚本中是否存在目录

8f6cc70f5392355de80106625c1c2422.png

幕布斯7119047

要检查shell脚本中是否存在目录,可以使用以下命令:if [ -d "$DIRECTORY" ]; then

  # Control will enter here if $DIRECTORY exists.fi或者检查目录是否不存在:if [ ! -d "$DIRECTORY" ]; then

  # Control will enter here if $DIRECTORY doesn't exist.fi然而,作为乔恩·埃里克森指出,如果不考虑到指向目录的符号链接也将通过此检查,则后续命令可能无法正常工作。例如,运行该程序:ln -s "$ACTUAL_DIR" "$SYMLINK"if [ -d "$SYMLINK" ]; then 

  rmdir "$SYMLINK" fi将产生错误消息:rmdir: failed to remove `symlink': Not a directory因此,如果后续命令需要目录,则必须对符号链接进行不同的处理:if [ -d "$LINK_OR_DIR" ]; then 

  if [ -L "$LINK_OR_DIR" ]; then

    # It is a symlink!

    # Symbolic link specific commands go here.

    rm "$LINK_OR_DIR"

  else

    # It's a directory!

    # Directory command goes here.

    rmdir "$LINK_OR_DIR"

  fifi请特别注意用于包装变量的双引号,其原因由8 jean解释。另一个答案.如果变量包含空格或其他不寻常的字符,可能会导致脚本失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值