Ini adalah pertama kalinya bash scripting saya jadi saya mungkin membuat kesalahan mudah.
Pada dasarnya, saya mencoba menulis skrip yang mendapatkan grup pengguna, dan jika mereka berada dalam grup tertentu, itu akan mencatatnya. Jelas akan ada lebih banyak fungsi, tetapi tidak ada gunanya membangun bahwa ketika saya bahkan tidak bisa membuat regex berfungsi!
Sejauh ini, saya punya ini:
#!/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
Setiap tempat saya sudah mencoba regex itu, itu berhasil. Tetapi dalam skrip bash, hanya akan menghasilkan $groups
, diikuti oleh No match
. Jadi bisakah seseorang memberi tahu saya apa yang salah dengannya?
^([a-zA-Z0-9\-_]+)
kemudian tambahkan titik dua dan seterusnya ... Anda harus segera mengetahuinya, di mana masalahnya.