Как добавить новую запись профиля в профили Firefox.ini с помощью скрипта?

Вы можете использовать тестовый оператор = ~ . Он принимает (без кавычек) расширенные регулярные выражения (аналогично egrep ).

if [[ "$hostname" =~ (foo|bar)servername(01|02|03) ]]
then echo matches
else echo no match
fi
0
28.10.2018, 01:10
3 ответа

Возможно, используйте awk для извлечения строк «[Profile]», затем обработайте биты «[Profile... ]», затем отсортируйте результаты численно, оставив только последний (наивысший )один:

highest=$(awk '/^\[Profile[0-9]+\]$/ { s=substr($0, 9); sub("]","", s); print s}' < /home/$myuser/.mozilla/firefox/profiles.ini |sort -n | tail -1)
highest=$((highest + 1))
printf "[Profile%d]
Name=NewProfile
IsRelative=1
Path=NewPath" "$highest" >> /home/$myuser/.mozilla/firefox/profiles.ini
1
28.01.2020, 02:31

Почему бы не использовать все awkподход?

awk '
/Profile[0-9]+/ {PRNR = $0
                 gsub (/[^0-9]/, "", PRNR)
                }
1
END             {print ""
                 print "[Profile" ++PRNR "]"
                 print "Name=NewProfile"
                 print "IsRelative=1"
                 print "Path=NewPath >> /home/$myuser/.mozilla/firefox/profiles.ini"
                }
' profiles.ini
1
28.01.2020, 02:31

Простой способ:

/usr/bin/firefox -CreateProfile profileName 

Он сохранит профили в файле profiles.iniи создаст новый(profileNameв этом случае ).

3
10.06.2021, 11:10

Теги

Похожие вопросы