Сначала вывод:
% grep -o 'href="[^"]*"' <<<'<a href="unix.stackexchange.com"></a>'
href="unix.stackexchange.com"
Шаблон Regex - href="[^"]*"
, он заключен в одинарные кавычки, чтобы предотвратить его интерпретацию оболочкой
*. html
- это файл(ы), для которого(ых) используется Regex/grep
, здесь *
- это шаблон генерации имени файла оболочки (соответствует любому количеству символов), в результате чего все файлы в текущем каталоге будут заканчиваться на .html
href=""
будет сопоставлен буквально
[^"]*
будет соответствовать подстроке до следующего "
*
соответствует нулю или более вхождений предыдущей лексемы [^"]
так что если между двумя "
ми нет символов, то это приведет к пустой строке
"
соответствует литералу "
Я обнаружил, что использование printf
вместо echo
решило проблему. Вместо
PROMPT_COMMAND='echo -ne "\033]30;$(basename $(pwd))\007"'
Теперь у меня есть
export PROMPT_COMMAND='printf "\033]0;%s\007" "$(basename $(pwd))"'