在 Bash 提示 PS1 中将元音更改为数字

Changing vowels to numbers in Bash prompt PS1

我正在尝试更改我的用户提示 bash 以便它不显示元音,而是显示与该元音对应的数字。所以,a -> 1, e -> 2, i -> 3, o -> 4, u -> 5.

到目前为止,我得到的是所有具有相同编号的元音,如下所示。但是我不知道该怎么做。

PS1='${USER//[io]/4}@ \D{%d-%m-%Y} - \w$ '

有人能帮忙吗?

谢谢

我会使用 sed。

PS1='$(<<<"$USER" sed "s/a/1/g;s/e/2/g;s/i/3/g;s/o/4/g;s/u/5/g") '

使用 bash 和参数扩展:

PS1='$(USER="${USER//a/1}"; USER="${USER//e/2}"; USER="${USER//i/3}"; USER="${USER//o/4}"; echo "${USER//u/5}")@ \D{%d-%m-%Y} - \w$ '