Скорее всего, в разрешениях для каталога .gnupg
отсутствуют разрешения x
, что позволяет переходить к файл gpg.conf
и его видимость.
Попробуйте следующее:
sudo chmod u+x /home/ubuntu/.gnupg
Вы также можете использовать шаблоны в стиле glob, чтобы решить эту проблему, не прибегая к мощности регулярных выражений:
if {[string match {*[0-9]*} $a]} { ...
См. документацию сопоставление строк
.
Это потому, что вы используете регулярное выражение, которое означает "совпадение 0 или более чисел". Строка abc
соответствует 0 числам, поэтому вы получаете положительный результат. Просто удалите *
("0 или больше") и все должно работать как положено:
set a "a2bc"
if {[ regexp {[0-9]} $a ]} {
puts "Found number in $a"
} else {
puts "Doesn't find number in $a"
}
В регулярном выражении *
означает «ноль или более ранее указанных символов или классов».Итак, вы ищете любую строку с нулем или более числовых символов. Что соответствует всему.