Решение для bash. Никакая внешняя программа не вызывается (быстрее для коротких строк).
Если значение находится в переменной:
$ a='"Hello!"'
Будет напечатано, сколько "
оно содержит:
$ b="${a//[^\"]}"; echo "${#b}"
2
Я нашел ответ благодаря комментарию jasonwryan.
Я много чего пробовал, чтобы заставить мое Ethernet-соединение работать, но оно не работало, пока я не исследовал команду netctl
( https://wiki.archlinux.org/index. php / netctl , man netctl
).
ls / etc / netctl
показал, что в моей папке / etc / netctl нет профилей, поэтому я запустил
cp /etc/netctl/examples/ethernet-dhcp /etc/netctl
netctl start ethernet-dhcp
До этого я запускал (из https: //bbs.archlinux. org / viewtopic.php? id = 151483 )
systemctl enable dhcpcd@eth0.service
systemctl start dhcpcd@eth0.service
И вуаля, Интернет заработал.Не уверен, какая из команд была ответственна, но теперь она работает.
Хотя на этот вопрос уже был дан ответ, я столкнулся с той же проблемой. Я решил это, обновив свои базы данных во время установки. Например:
sudo pacman -Syu elinks
Вы также можете загрузить пакет(файл pkg.tar.zst)вручную и использовать команду
sudo pacman -U package_name.pkg.tar.zst
Я использовал этот метод, поскольку sudo pacman -Syu
команда хотела установить несколько дополнительных пакетов общим размером ~200 МБ, а все, что у меня было, это сетевое соединение со скоростью 8 Кбит/с
Возможно, вам нужно обновить свои зеркала pacman:
sudo pacman-mirrors -g