Estoy intentando escribir un script bash en el que me conecto a un servidor samba, obteniendo el nombre de usuario y la contraseña, y luego diciendo $ username: $ password @ SERVERNAME.Cómo escapar de un signo @ en el campo de contraseña de un smb: // URL
Sin embargo, esto fallará si la contraseña tiene un @ en ella. ¿Hay alguna forma de escapar del @ de la contraseña en bash?
Gracias de antemano
Actualización: Soy la creación de esta impresora de red
lpadmin -p PRINTER -v smb://$username:[email protected] -E
y funciona, excepto en el caso de que $ password tiene un signo @ en él; las variables $ username y $ passwords se obtienen al leer stdin
Simplemente cite las variables – ghostdog74
Creo que el problema no está en bash sino en hacer que Samba reconozca qué '@' está en la contraseña y qué '@' marca el final de la contraseña. Y dudo que haya una manera de hacerlo, pero si lo hay, tendrá que mirar los manuales de Samba para obtener información. 'Doctor, doctor, duele cuando me golpeo así'? O, en otras palabras, no use '@' en la contraseña porque causa dolor. –
Tal vez intente reemplazar todo '@' con '% 40' ... No creo que funcione, pero tal vez ese sea el camino. Use '$ contraseña = $ {contraseña // @ /% 40}' para reemplazarlos. – dreamlax