Вы можете сделать это с помощью небольшой вспомогательной функции, как показано ниже (используйте /home
в качестве примера путь префикса):
~ > pwd /home/me ~ > tiavl=/home ~ > prompt_path () { echo $; } ~ > export PS1="\$(prompt_path \w) > " $tiavl/me >
Это использует простую функцию манипуляции со строками (см. Здесь много примеров) в функции, чтобы заменить начальную часть пути литералом, $tiavl
если он совпадает.
Вот демонстрация того, как обновить эту функцию для нескольких путей.
#! /bin/sh path1=/home path2=/usr path3=/var prompt_path() { local path path="$" path="$" path="$" echo "$path" } prompt_path $HOME prompt_path /usr/local prompt_path /var/tmp