while getopts ':' opt; do
: # This is where ordinarily a case statement would be,
# case $opt in... esac
# But we use : as a no-op
done
shift "$(( OPTIND - 1 ))"
printf 'arg: %s\n' "$@"
Это использует getopts
для разбора параметров командной строки. Цикл while
завершится, как только будет найдена первая не -опция, и shift
сместит обработанные опции из $@
, оставив только операнды не -опции в $@
.
Скрипт
#!/bin/sh
gmx () {
while getopts ':' opt; do
:
done
shift "$(( OPTIND - 1 ))"
printf 'arg: %s\n' "$@"
}
gmx -a --foo -c omg lol
будет выводить
arg: omg
arg: lol
Поскольку вас не интересуют реальные варианты, вы, очевидно, можете сделать простой цикл, например
for opt do
case $opt in
-*) shift ;;
*) break
esac
done
printf 'arg: %s\n' "$@"
Это перебирает все аргументы, удаляя те, которые начинаются с дефиса, и заканчивая первым, который не начинается с дефиса.
Согласно вашему кадру,ваше сглаживание настроено неправильно. В зависимости от вашего DE вы можете активировать сглаживание и установить «Подсказку» на полную.
В новых системах Debian/Ubuntu вы можете настроить папку /etc/fonts/conf.d
. Он содержит только ссылки на некоторые из доступных конфигураций. Убедитесь, что там есть ссылки на какой-нибудь hinting.conf:
rwxrwxrwx 1 root root 31 Apr 6 12:09 10-antialias.conf ->../conf.avail/10-antialias.conf
lrwxrwxrwx 1 root root 36 Apr 6 12:09 10-hinting-slight.conf ->../conf.avail/10-hinting-slight.conf
lrwxrwxrwx 1 root root 40 Apr 6 12:09 10-scale-bitmap-fonts.conf ->../conf.avail/10-scale-bitmap-fonts.conf
lrwxrwxrwx 1 root root 39 Apr 6 12:09 11-lcdfilter-default.conf ->../conf.avail/11-lcdfilter-default.conf
Четыре ссылки (из многих )в основном отвечают за сглаживание шрифта.
На случай, если у вас ничего из этого нет, я использовал это в моем.fonts.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Enable sub-pixel rendering -->
<match target="font">
<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
<match target="font">
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
</match>
<match target="font">
<edit name="autohint" mode="assign">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
</fontconfig>