Я нашел скрипт со следующим фрагментом: -
userid=`expr "\`id\`" : ".*uid=[0-9]*(\(.[0-9a-z]*\)) .*"`
Возвращает идентификатор пользователя.
Когда я пытался узнать, как это происходит: -
#id
#uid=11008(adilm) gid=1200(cvs),1400(build)
Итак, я понял, что (. [0-9a-z] *) соответствует идентификатору пользователя. Но если бы я разместил, как показано ниже:
#userid=`expr "uid=11008(ADILM) gid=1200(cvs),1400(build)" : ".*uid=[0-9]*(\(.[0-9a-z]*\)) .*"`
#echo $userid
ADILM
Это работает. Согласно моему пониманию. соответствует ADILM. Но когда я удалил "." как ниже: -
#userid=`expr "uid=11008(ADILM) gid=1200(cvs),1400(build)" : ".*uid=[0-9]*(\([0-9a-z]*\)) .*"`
#echo $userid
ADILM
Это все еще работает как? Мы предоставили только строчные буквы, но они все еще работают.