NOTA: La solución ofrecida a continuación ha sido probada y se sabe que funciona correctamente.
Las comillas simples romperán la expansión variable si has alias parte de la ruta que estás bloqueando.
Aquí hay una secuencia de comandos que usa comillas DOBLES para el caso de uso del nombre de archivo global command-configure_ .tar.gz * usando una ruta alias con una variable:
#!/bin/bash
USEREXECUTINGSCRIPT='admin'
SCRIPTSDIR="myscripts"
SCPUSER='terrencehoulahan'
SCPUSERPASSWD='Change-Me'
SCPHOST='1.2.3.4'
SCPDIRECTORYREMOTE='/Users/terrencehoulahan/Downloads/Ubuntu/18.04'
## Uncomment appropriate below command for your distro to install "sshpass"
#apt-get -y sshpass
#yum -y install sshpass
sshpass -p "$SCPUSERPASSWD" scp -o StrictHostKeyChecking=no $SCPUSER@$SCPHOST:"$SCPDIRECTORYREMOTE/command-configure_*.tar.gz" $(getent passwd|grep ^$(echo $USEREXECUTINGSCRIPT)|cut -d ':' -f6)/$SCRIPTSDIR/
Después del cierre de la comilla doble, el destino del directorio local se construye simplemente extrayendo el directorio de inicio del usuario especificado de / etc / passwd .
El comando scp mismo está precedido sshpass
y -o StrictHostKeyChecking=no
automatiza completamente el scp
comando sin interacción del usuario. Parece complicado pero mejor que las rutas de codificación dura que se espera que cambien de vez en cuando.
Anyhoo, un ejemplo que usa comillas dobles donde las variables en la ruta que estás buscando deben expandirse. HTH