在 shell 脚本中执行 umount 时出现问题,但无法手动执行

在 shell 脚本中执行 umount 时出现问题,但无法手动执行

我一直在创建一个 shell 脚本,以便在需要时恢复我们的 Azure 文件共享。以前我们手动执行这些任务,这样做没有问题,但我们决定将这些任务自动化。

话虽如此,脚本看起来是这样的:

#!/bin/bash
SHELL=/bin/bash

dest_folder=$1
environment=$2

for df in $dest_folder*
do
  sudo umount $df/ && \
  while  [ "$(mountpoint $df/)" != "$df/ is not a mountpoint" ]; 
    do echo "Executing umount: $(mountpoint $df/)"
    sleep 1
  done && echo "Umount executed"
done

sudo rm -r $dest_folder*

mkdir -p /path/data/fileshare

### replace with command to mount fileshare ###
mount -a

mkdir -p /path/data/globalconfig

### replace with command to mount fileshare ###
mount -a

当前的问题是,有时执行此脚本时,它会正确地卸载,但有时它会在没有任何逻辑原因的情况下卡在安装文件共享,从而导致echo“...不是挂载点”。我不知道在这种情况下会发生什么

任何帮助都将不胜感激。谢谢!

相关内容