mount 命令在 bash 函数中不起作用

mount 命令在 bash 函数中不起作用

这是在 MacOS 10.11.6 中

在使用 bash 的终端中,我可以发出以下命令,并且它可以完美运行。

mount -t $FILESYS //$USERNAME:$PASSWORD@$SERVER/$DSKLBL ~/$MOUNTPOINT

我还可以将其包含在 bash 脚本中,并且它运行完美。

#!/bin/bash

FILESYS=smbfs
USERNAME=myusername
PASSWORD=mypassword
SERVER=myserverip
DSKLBL=mysharepoint
MOUNTPOINT=mymountpoint

echo Attempting to Mount $MOUNTPOINT
mount -t $FILESYS //$USERNAME:$PASSWORD@$SERVER/$DSKLBL ~/$MOUNTPOINT
ERR=$?

exit

但是,如果我将同一命令放入函数中,它会失败。我收到分段错误。它看起来像是列出了这个...

#!/bin/bash

FILESYS=smbfs
USERNAME=myusername
PASSWORD=mypassword
SERVER=myserverip
DSKLBL=mysharepoint
MOUNTPOINT=mymountpoint

mount_share () {
     echo Attempting to Mount $MOUNTPOINT
     mount -t $FILESYS //$USERNAME:$PASSWORD@$SERVER/$DSKLBL ~/$MOUNTPOINT
     ERR=$?
}

mount_share

exit

这在 Ubuntu Linux 20.04 LTS 中运行良好。知道为什么会失败吗?这与当前的 shopt 配置有什么关系吗?

相关内容