Предложенные ранее решения мне не подходили или не работали. По какой-то причине обновление пакета icu
с 59.1 -2 до 60.1 -1 привело к разрыву связи, и многие программы (, включая pacman ), впоследствии перестали работать с этой ошибкой. На моей стороне нет прерванного пакмана.
Если у вас все еще есть предыдущий пакет в кеше, вы можете попробовать этот, который сработал в моем случае:
/var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz
). mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
sudo pacman -Syu
Конструкции <()
и >()
известны как «замена процесса ». Я не использую fish
, но согласно его документации , он напрямую не поддерживает это:
Subshells, command substitution and process substitution are strongly related. fish only supports command substitution, the others can be achieved either using a block or the psub shellscript function.
Действительно,psub
похоже, это то, что вам нужно:
## bash
$ seq 10 | grep -f <(seq 4 5)
4
5
## fish
~> seq 10 | grep -f (seq 4 5 | psub)
4
5