Предположим, что ваша переменная содержит хотя бы одно вхождение ef
, POSIXly:
$ printf '%s\n' "${foo%ef*}${foo##*ef}"
ab cd gh
В вариантах bash
, ksh
(исключая posh
), zsh
и yash
, вы можете использовать:
$ printf '%s\n' "${foo/ef}"
для удаления первого вхождения ef
, или "${foo//ef}"
для удаления всех вхождений.
Проблема оказалась в сетевом монтировании у меня fstab
, которое иногда зависало при выключении. Я не уверен, почему, поскольку сетевое монтирование не было в точке монтирования внутри файловой системы RAID, они оба монтировались на /
, который является моим SSD.
Я действительно заметил это только потому, что переход на 18.04 не помог, и у меня были задержки при запуске, которые, как оказалось, были связаны с сетевым монтированием.