Expect es un intérprete de órdenes (estilo bash) diseñado para emular a un usuario metiendo datos manualmente. Lo usaremos para montar las unidades automáticamente:
#!/usr/bin/env bash
# Montar unidades emulando a un usuario que mete datos
function mount_share {
expect <<END
spawn gvfs-mount $1
set timeout -1
expect User
expect :
send $2\r
expect Domain
expect :
send $3\r
expect Password:
send $4\r
wait
END
}
# Montar nuestra unidad de red
mount_share smb://host/share usuario dominio contraseña