Bash - Como encurtar o nome de usuário no PS1

0

Atualmente, minha solicitação é:

xiaobai@dnxb:/tmp$
root@dnxb:/tmp# 

Meu prompt desejado:

xb@dnxb:/tmp$
rt@dnxb:/tmp# 

Minha ideia é um apelido de nome de usuário, então tentei reutilizar o mesmo uid para criar um novo usuário:

xiaobai@dnxb:~$ sudo useradd -ou 1000 -g1000 -d /home/xiaobai -s /bin/bash xb
xiaobai@dnxb:~$ su
Password: 
root@dnxb:/home/xiaobai# passwd xb
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@dnxb:/home/xiaobai# exit
xiaobai@dnxb:~$ su xb
Password: 
xiaobai@dnxb:~$ pwd
/home/xiaobai
xiaobai@dnxb:~$ PS1='\u:\W\$ '
xiaobai:~$ exit
xiaobai@dnxb:~$ id
uid=1000(xiaobai) gid=1000(xiaobai) groups=1000(xiaobai),27(sudo)
xiaobai@dnxb:~$ 

Não muda para xb para PS1 '\ u'. Se sim, como?

    
por 林果皞 19.10.2016 / 17:02

2 respostas

8

O que há de errado com a configuração manual?

PS1="xb@\h:\w\$ "
    
por 19.10.2016 / 17:08
2

Se você quiser usar o mesmo PS1 para ambos / todos os usuários, poderá usar a expansão de parâmetro para remover as vogais do nome de usuário:

PS1='${USER//[aeiou]}@\h:\w\$ '
    
por 19.10.2016 / 18:20