Lze do env promenne ulozit vice radkovy text?

Pavel Lisy pali na tmapy.cz
Čtvrtek Duben 1 17:11:56 CEST 2004


Potrebuji parsovat vystup z ldapu. 

Nasledujici kontrukce sice do promennych ulozi pozadovane hodnoty, ale
ty potom zmizi, protoze jsou soucasti shellu spusteneho routou.

ldapsearch -x -w "${USERMNG__LDAP_READ_PASSWD}" -h localhost \
            -D "${USERMNG__LDAP_READ_ACCOUNT}" -b
"${USERMNG__LDAP_BASE_DN}" \
            -s sub "(uid=${USERMNG__LOGIN})" | while read rawline ; do
#          echo CASE: $(echo $rawline | cut -d: -f1)
#          echo ENV: $(echo $rawline | cut -d: -f2)
         case $(echo $rawline | cut -d: -f1) in 
            uidNumber* )
               echo -n "USERMNG__UIDNUMBER: "
               USERMNG__UIDNUMBER=$(echo $rawline | cut -d: -f2)        
               echo ${USERMNG__UIDNUMBER}
            ;;
            gidNumber* )
               echo -n "USERMNG__GIDNUMBER: "
               USERMNG__GIDNUMBER=$(echo $rawline | cut -d: -f2)        
               echo ${USERMNG__GIDNUMBER}
            ;;
            homeDirectory* )
               echo -n "USERMNG__HOMEDIR: "
               USERMNG__HOMEDIR=$(echo $rawline | cut -d: -f2)         
               echo ${USERMNG__HOMEDIR}
            ;;
            loginShell* )
               echo -n "USERMNG__SHELL: "
               USERMNG__SHELL=$(echo $rawline | cut -d: -f2)         
               echo ${USERMNG__SHELL}
            ;;
            gecos* )
               echo -n "USERMNG__GECOS: "
               USERMNG__GECOS=$(echo $rawline| cut -d: -f2)         
               echo ${USERMNG__GECOS}
            ;;
            sambaSID* )
               echo -n "USERMNG__SAMBA_SID: "
               USERMNG__SAMBA_SID=$(echo $rawline | cut -d: -f2)        
               echo ${USERMNG__SAMBA_SID}
            ;;
         esac
      done


Chtel bych si to tedy napred ulozit do promenne, ale ta mi zrusi konce
radku (resp. echo $PROMENA je neukaze).

Cele to mam napsane v bashi, tak nechci pouzit neco jineho (napr. perl),
kde by to urcite slo elegantneji.

Nechci take delat prilis dotazu do ldapu.

Jsem schopen nejak pres environment promennou prenest text i s konci
radku? Nebo jak to jinak elegantne vyresit?

Pavel

-- 
Pavel Lisy <pali na tmapy.cz>
T-MAPY spol. s r.o.



Další informace o konferenci Linux