这是在 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 配置有什么关系吗?