Questa è la mia prima volta che bash scripting quindi probabilmente sto facendo un errore facile.
Fondamentalmente, sto cercando di scrivere uno script che ottenga i gruppi di un utente e, se si trovano in un determinato gruppo, lo registrerà di conseguenza. Evidentemente ci saranno più funzionalità, ma non ha senso costruirlo quando non riesco nemmeno a far funzionare regex!
Finora ho questo:
#!/bin/bash
regex="^([a-zA-Z0-9\-_]+ : [a-zA-Z0-9\-_]+) (usergroup)$"
# example output
groups="username : username usergroup"
echo "$groups" >> /home/jrdn/log
if [[ "$groups" =~ $regex ]]; then
echo "Match!" >> /home/jrdn/log
else
echo "No match" >> /home/jrdn/log
fi
Ogni posto in cui ho provato quella regex, funziona. Ma nello script bash, emette sempre e solo il $groups
, seguito da No match
. Quindi qualcuno può dirmi cosa c'è che non va?
^([a-zA-Z0-9\-_]+)
poi aggiungi i due punti e così via ... Dovresti scoprire abbastanza presto, dov'è il problema.