在Bash提示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$ '