我想使用 sudo 临时挂载两个单独的网络驱动器,因为我的 NAS 设备并不总是在线,所以我不相信向 /etc/fstab 添加任何东西是必要的。
以下代码能够实现这一点,但是我不打算从终端运行脚本,因此 sudo 密码提示是我的问题:
#!/bin/sh
sudo mount -t cifs //10.1.1.9/Volume_1 /media/DNS323-A -ousername=user,password=pass,iocharset=utf8
sudo mount -t cifs //10.1.1.9/Volume_2 /media/DNS323-B -ousername=user,password=pass,iocharset=utf8
我需要选择“在终端中运行”才能从文件浏览器窗口成功运行该脚本。因此我更喜欢使用 gksudo,它会打开一个提示窗口让我输入 sudo 密码。
但是,如果我改用下面的代码,我必须输入两次 sudo 密码!
gksudo "mount -t cifs //10.1.1.9/Volume_1 /media/DNS323-A -ousername=user,password=pass,iocharset=utf8"
gksudo "mount -t cifs //10.1.1.9/Volume_2 /media/DNS323-B -ousername=user,password=pass,iocharset=utf8"
在这一点上,我尝试变得聪明并使用 gksudo 选项“以 sudo 身份运行”,如下所示,但是只有第一个驱动器像上面的第一个脚本一样安装,如果不从终端运行,则会静默失败:
gksudo -S "mount -t cifs //10.1.1.9/Volume_1 /media/DNS323-A -ousername=user,password=pass,iocharset=utf8"
sudo "mount -t cifs //10.1.1.9/Volume_2 /media/DNS323-B -ousername=user,password=pass,iocharset=utf8"
我真正想做的是以下,但我不确定是否有可能:
gksudo this{
command1
command2
command3
}
是我一个人还是 gksudo 记性不好?