Когда вы заключаете раскрытие переменной в одинарные кавычки, вы не даете оболочке раскрыть эту переменную. Вместо этого вы должны использовать двойные кавычки.
Вот предложение по улучшению:
#!/bin/sh
while getopts "a:" option; do
case $option in
a) word=$OPTARG ;;
*) echo 'error' >&2
exit 1
esac
done
if [ -z "$word" ]; then
echo 'Missing word to search for' >&2
exit 1
fi
printf 'Searching for "%s"\n' "$word"
grep -o "$word.*".addr_book
Я внес несколько изменений:
ksh
-специфические функции, поэтому я сделал его /bin/sh
скриптом. grep
). Это упрощает поддержку скрипта. :
в строке getopts
говорит getopts
, что вы сами будете обрабатывать неверный аргумент командной строки. Это редко требуется, так как диагностические сообщения от getopts
часто адекватны. >&2
). printf
. cat
был удален. В applets
вы можете найти CPU TEMPERATURE INDICATOR
.
Если вы обновляете свой диспетчер обновлений -, то на самом деле
ядро 5.3.0 -45 для установки.
Оба работают на моем ryzen7 без нареканий.
Последние (все )ядра здесь :Индекс / ~ядра -ppa/mainline
Перед любым действием лучше сделать резервную копию timeshift
.