es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Script como valor de variable.

¿Es posible almacenar el script como una variable? Este es el script:


SCRIPT1 si [ "$4" = "test-1" ] ; entonces existinguser1=$(ldapsearch -x -b "cn=users,cn=servers,ou=servers,dc=com" -H ldap://127.0.0.1 -D "cn=admin,dc=servers,dc=com" -w "pass" cn uid | grep "uid: $3" | grep -oE '[^ ]+$') si [ "$existinguser1" = "$3" ] ; entonces salir -1 elif [ "$existing_user1" = "" ] ; then gid=523 ; cn="cn=users,cn=servers" fi elif [ "$4" = "servers2" ] ; entonces existinguser2=$(ldapsearch -x -b "cn=users,cn=servers,ou=servers,dc=servers,dc=com" -H ldap://127.0.0.1 -D "cn=admin,dc=servers,dc=com" -w "pass" cn uid | grep "uid: $3" | grep -oE '[^ ]+$') si [ "$existinguser2" = "$3" ] ; entonces (echo "dn: cn=servers,ou=servers,dc=servers,dc=com" echo "add: memberUid" echo "memberUid: $3") | ldapmodify -D "cn=admin,dc=servers,dc=com" -w "pass" salir -1 elif [ "$existing_user2" = "" ] ; then gid=523 ; cn="cn=users,cn=servers" (echo "dn: cn=servers,ou=servers,dc=servers,dc=com" echo "add: memberUid" echo "memberUid: $3") | ldapmodify -D "cn=admin,dc=servers,dc=com" -w "pass" fi fi )

He intentado así:

mi_nueva_variable=(
aquí he pegado el script de arriba
)

Pero parece que no está funcionando correctamente… He cambiado los corchetes por las comillas, pero eso tampoco funcionó.

Hasta ahora he tenido algunas cosas simples como valor de variables, pero nada complicado como otro script de bash.

Me gustaría tener el script anterior definido como variable que pueda utilizar más adelante en el script dentro de awk.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible almacenar el script como una variable. Puede usar la siguiente sintaxis:

    mi_nueva_variable="
    si [\"$4\" =\"test-1\"] ; luego
            usuario_existente1 $ (ldapsearch -x -b \"cn=users,cn=servers,ou=servers,dc=com\" -H ldap://127.0.0.1 -D \"cn=admin,dc=servers,dc=com\" -w \"pass\" cn uid | grep \"uid: $3\" | grep -oE '[^ ]+$')
            si [\"$existing_user1\" = \"$3\"] ; luego
                    exit -1
            elif [\"$existing_user1\" = \"\"] ; luego 
                    gid=523 ; cn=\"cn=users,cn=servers\"
            fi
    
    elif [\"$4\" = \"servers2\"] ; luego
            usuario_existente2 $ (ldapsearch -x -b \"cn=users,cn=servers,ou=servers,dc=servers,dc=com\" -H ldap://127.0.0.1 -D \"cn=admin,dc=servers,dc=com\" -w \"pass\" cn uid | grep \"uid: $3\" | grep -oE '[^ ]+$')
            si [\"$existing_user2\" = \"$3\"] ; luego
                   (echo \"dn: cn=servers,ou=servers,dc=servers,dc=com\"
                   echo \"add: memberUid\"
                   echo \"memberUid: $3\") | ldapmodify -D \"cn=admin,dc=servers,dc=com\" -w \"pass\"
                   exit -1
           elif [\"$existing_user2\" = \"\"] ; luego
                   gid=523 ; cn=\"cn=users,cn=servers\"
                   (echo \"dn: cn=servers,ou=servers,dc=servers,dc=com\"
                   echo \"add: memberUid\"
                   echo \"memberUid: $3\") | ldapmodify -D \"cn=admin,dc=servers,dc=com\" -w \"pass\"
           fi
    fi
    "
    

Comments are closed.