Вы можете использовать Alt + `(клавиша выше Tab), чтобы переключаться между окнами одного и того же приложения.
Вы можете даже смешать Alt + Tab, чтобы переключаться между приложением и ` +` для переключения между окнами выбранного приложения.
В этом сообщении блога из «Дидье Роше» от Canonical есть изложение обоснования. Это часть серии, посвященной разработке интеграции gnome в Ubuntu 17.10.
Из вашего кода я вижу, что вы добавляете к файлу userData, что означает, что имена файлов будут увеличиваться в их числовом суффиксе. Итак, чтобы получить следующий доступный суффикс, мы могли бы просмотреть файл userData с помощью grep и просто подсчитать количество строк, в которых происходит имя пользователя:
$ grep -c 'jsmit' users.txt
2
Конечно, если возвращаемое число равно 0, мы может просто игнорировать это, потому что это новое имя пользователя. Вот небольшой сценарий того, как это работает:
#!/bin/bash
read -p "Enter first name: " firstname
read -p "Enter lastname: " lastname
username=$(printf "%s%s" "${firstname:0:1}" "${lastname:0:4}")
num=$( grep -c "$username" userData )
if [ "$num" -gt 0 ]; then
username="$username$num"
fi
echo "$username"
Протестируйте с jsmit и jsmit1 уже в файле:
$ ./indexed_usernames.sh
Enter first name: john
Enter lastname: smith
jsmit2
Однако обратите внимание, что это очень наивный и упрощенный способ и предполагает, что имена пользователей не удаляются или отсутствуют индексы и добавляются линейным образом.
Из вашего кода я вижу, что вы добавляете к файлу userData, что означает, что имена файлов будут увеличиваться в их числовом суффиксе. Итак, чтобы получить следующий доступный суффикс, мы могли бы просмотреть файл userData с помощью grep и просто подсчитать количество строк, в которых происходит имя пользователя:
$ grep -c 'jsmit' users.txt
2
Конечно, если возвращаемое число равно 0, мы может просто игнорировать это, потому что это новое имя пользователя. Вот небольшой сценарий того, как это работает:
#!/bin/bash
read -p "Enter first name: " firstname
read -p "Enter lastname: " lastname
username=$(printf "%s%s" "${firstname:0:1}" "${lastname:0:4}")
num=$( grep -c "$username" userData )
if [ "$num" -gt 0 ]; then
username="$username$num"
fi
echo "$username"
Протестируйте с jsmit и jsmit1 уже в файле:
$ ./indexed_usernames.sh
Enter first name: john
Enter lastname: smith
jsmit2
Однако обратите внимание, что это очень наивный и упрощенный способ и предполагает, что имена пользователей не удаляются или отсутствуют индексы и добавляются линейным образом.