Moi !
Rakentelen pientä bash scriptiä, jossa käytetään ldapsearch komentoa hakemaan tietoa käyttäjistä.
Homma toimii muuten hyvin mutta komento palauttaa ääkkösiä ja muita erikoismerkkejä sisältävät tiedot base64 koodattuna.
Nämä tiedot saa selkokielisiksi komennolla "echo base64merkkijono | base64 --decode".
Aloitin tutkimalla case functiossa onko $NAME muuttujassa "=" merkkiä lopussa, kunnes huomasin että base64 koodattu sisältö ei välttämättä käsitä tuota merkkiä ollenkaan.
Eli nyt saan noin puolet erikoismerkkejä sisältävistä nimistä selkokieliseksi.
Näyttäisi siltä että ldapsearchin palauttamassa base64 koodissa olisi aina (?) tyhjä merkki ensimmäisenä, eli senkin tutkiminen saattaisi ratkaista asian (?).
case "$NAME" in
*=)
DECODEDNAME=`echo $NAME | /usr/bin/base64 --decode`
;;
*)
echo "Decoding not needed..."
;;
esac
Ongelmana on siis se miten tutkia onko $NAME muuttujan sisältö oikeasti base64 koodattua vai ei.
-tjka-