이것은 처음으로 bash 스크립팅이므로 쉽게 실수 할 수 있습니다.
기본적으로 사용자 그룹을 가져 오는 스크립트를 작성하려고하는데 특정 그룹에 있으면 그에 따라 기록합니다. 분명히 더 많은 기능이있을 것이지만 정규식을 작동시킬 수 없을 때도 포인트가 없습니다!
지금까지 나는 이것을 가지고있다 :
#!/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
정규식을 시도한 모든 곳에서 작동합니다. 하지만 bash는 스크립트에서, 그것은 단지 이제까지 출력 $groups
, 다음을 No match
. 그래서 누군가가 무엇이 잘못되었는지 말해 줄 수 있습니까?
^([a-zA-Z0-9\-_]+)
하고 콜론을 추가하는 등의 작업을 시도합니다 ... 곧 문제가있는 곳을 찾아야합니다.