Primeiro, não use $USER
. Essa é uma variável ambiental padrão que contém o nome de usuário do usuário atual. Se o nome de usuário for o mesmo em todos os servidores e na máquina em que você está executando o script, tudo bem. Mas se não, use um nome diferente. Em geral, evite usar nomes de variáveis UPPER CASE no bash, já que os reservados padrão são todos capitalizados.
Dito isso, você poderia fazer algo assim:
#!/bin/sh
case in
1)
user="user1"
servername="server1"
remotemount="remote1"
localmount="local1"
portnumber="port1"
;;
2)
user="user2"
servername="server2"
remotemount="remote2"
localmount="local2"
portnumber="port2"
;;
3)
user="user3"
servername="server3"
remotemount="remote3"
localmount="local3"
portnumber="port3"
;;
*)
echo "Please use 1, 2 or 3"
exit 1
;;
esac
echo sshfs -o allow_other,defer_permissions -o volname=$user@$servername $user@$servername:$remotemount $localmount -p$portnumber
Em seguida, execute seu script fornecendo 1
, 2
ou 3
como parâmetro:
foo.sh 2