# [SOLVED] Zmiana prompta (znaku zachęty) dla roota

## zlomek

Po zmienie znaku zachęty: 

```
michal@zlomekt61p ~ $ cat .bashrc | grep PS1

export PS1="\[\e[35;3m\]\u@\[\e[33;3m\]\H \[\e[34;2m\]\W \[\e[31;1m\]\\$ \[\e[0m\]"

```

na userze został zmieniony.

Na roocie ciągle pobera tą zmienna z innego pliku i pozostaje standardowa.

```
zlomekt61p ~ # cat .bashrc | grep PS1

export PS1="\[\e[35;3m\]\u@\[\e[33;3m\]\H \[\e[34;2m\]\W \[\e[31;1m\]\\$ \[\e[0m\]"

zlomekt61p ~ # 
```

Z którego pliku użytkownik root pobiera ziemnną PS1? 

```
zlomekt61p ~ # echo $PS1

\[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\]

```

Pozdrawiam zlomek

----------

## Exil

z

```

/etc/bash/bashrc

```

----------

## zlomek

 *Exil wrote:*   

> z
> 
> ```
> 
> /etc/bash/bashrc
> ...

 

Wolałbym jednak modyfikować pliki przeznaczone do nadpisywania tych ustwień. Na końcu  *Quote:*   

> /etc/bash/bashrc

  jest napisane:

 *Quote:*   

> #You should override these in your ~/.bashrc (or equivalent) for per-user
> 
> # settings.
> 
> 

 

Chciałbym mieć porzadek w systemie. Jakby było nowa wersja basha przez dispatch-conf moglbym stracić zmiany w /etc/bash/bashrc  jesli chcieli by zmienić ten plik.

Pozdrawiam zlomek

----------

## Ahenobarbi

Co pokazuje ( dla roota) 

```
ls -lah .bashrc
```

 ?

----------

## galimedes

Zastanawia mnie wysoka nie umiejętność analitycznego myślenia, a przecież sam już sobie odpowiedziałeś co trzeba zrobić 

 *zlomek wrote:*   

> Po zmienie znaku zachęty: 
> 
> ```
> michal@zlomekt61p ~ $ cat .bashrc | grep PS1
> 
> ...

 

----------

## zlomek

 *galimedes wrote:*   

> Zastanawia mnie wysoka nie umiejętność analitycznego myślenia, a przecież sam już sobie odpowiedziałeś co trzeba zrobić 
> 
>  *zlomek wrote:*   Po zmienie znaku zachęty: 
> 
> ```
> ...

 

Stary czytaj ze zrozumieniem, nieumiejętność pisze się razem   :Shocked: 

----------

## Ahenobarbi

Po kolei wykonuje /etc/profile, ~/.bash_profile, ~/.bash_login, and ~/.profile. ~/.profile zwykle zawiera linijkę, która wykonuje ~/.bashrc ( czyli użytkownik musi mieć prawo wykonywania ~/.bashrc ).

http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files

 *Quote:*   

> Invoked as an interactive login shell, or with --login
> 
> When Bash is invoked as an interactive login shell, or as a non-interactive shell with the --login option, it first reads and executes commands from the file /etc/profile, if that file exists. After reading that file, it looks for ~/.bash_profile, ~/.bash_login, and ~/.profile, in that order, and reads and executes commands from the first one that exists and is readable. The --noprofile option may be used when the shell is started to inhibit this behavior.
> 
> When a login shell exits, Bash reads and executes commands from the file ~/.bash_logout, if it exists.
> ...

 

----------

## zlomek

 *Ahenobarbi wrote:*   

> Co pokazuje ( dla roota) 
> 
> ```
> ls -lah .bashrc
> ```
> ...

 

```
zlomekt61p ~ # ls -l .bashrc 

-rw-r--r-- 1 root root 721 02-15 12:45 .bashrc

```

```
zlomekt61p ~ # ls -l .bashrc 

-rw-r--r-- 1 root root 721 02-15 12:45 .bashrc

```

```
zlomekt61p ~ # ls -a

.                          configi_kernela  .mc                  .wicd

..                         cos_z_boot       .mplayer             .xauthBfqwIY

0.3-send-sync-event.patch  .dbus            .recently-used.xbel  .xauthEVfd7J

.aumixrc                   .gconf           .Skype               .xauthmQRU6Y

.bash_history              .gconfd          .ssh                 .Xauthority

.bashrc                    .gnome2          utf8                 .xauthQ0Sl1R

blocking                   .gstreamer-0.10  utf8.sh              .xauthYnqEUQ

botgg                      .htoprc          utf8.tar.gz          xorg.conf.new

.cache                     .keep            utf8.tar.gz.1

.config                    .local           .viminfo

```

Innych wymienionych przez Ciebie plików nie ma. Na innej maszynie prompt mi działa, tylko w tym systemie są problemy, jakby nie związane bezpośrednio. 

.bashrc: 

```
zlomekt61p ~ # cat .bashrc | grep '^[^#]'

if [[ $- != *i* ]] ; then

   # Shell is non-interactive.  Be done now!

   return

fi

alias man="LC_ALL=pl_PL.utf8 man"

export LC_ALL=pl_PL.UTF-8

export   LANG=pl_PL.UTF-8

export PS1="\[\e[35;3m\]\u@\[\e[33;3m\]\H \[\e[34;2m\]\W \[\e[31;1m\]\\$ \[\e[0m\]"

```

----------

## Ahenobarbi

```
chmod u+x ~/.bashrc
```

albo ( do wyboru)

```
chmod 700 ~/.bashrc
```

powinno pomóc.

----------

## zlomek

 *Ahenobarbi wrote:*   

> 
> 
> ```
> chmod u+x ~/.bashrc
> ```
> ...

 

```
zlomekt61p ~ # ls -l .bashrc

-rwxr--r-- 1 root root 721 02-15 12:45 .bashrc

```

```
michal@zlomekt61p ~ $ su -

Password or swipe finger: 

zlomekt61p ~ # ls -a .bashrc

.bashrc

```

niestety nie działa, prompt powienien wygladać tak samo jak dla usera.

Pozdrawiam zlomek

----------

## Ahenobarbi

A jak zrobisz

```
~/.bashrc
```

 to prompt  się zmienia?

----------

## zlomek

 *Ahenobarbi wrote:*   

> A jak zrobisz
> 
> ```
> ~/.bashrc
> ```
> ...

 

nie, zwaraca błąd:  

```
zlomekt61p ~ # ~/.bashrc 

/root/.bashrc: line 14: return: wyjście przez `return' możliwe tylko z funkcji lub skryptu

```

wkleje zawartość: 

```
if [[ $- != *i* ]] ; then

   # Shell is non-interactive.  Be done now!

   return

fi

# Put your fun stuff here.

alias man="LC_ALL=pl_PL.utf8 man"

export LC_ALL=pl_PL.UTF-8

export   LANG=pl_PL.UTF-8

export PS1="\[\e[35;3m\]\u@\[\e[33;3m\]\H \[\e[34;2m\]\W \[\e[31;1m\]\\$ \[\e[0m\]"

```

----------

## lazy_bum

@zlomek

Tu masz odpowiedź:

 *Ahenobarbi wrote:*   

> Po kolei wykonuje /etc/profile, ~/.bash_profile, ~/.bash_login, and ~/.profile. ~/.profile zwykle zawiera linijkę, która wykonuje ~/.bashrc ( czyli użytkownik musi mieć prawo wykonywania ~/.bashrc ).
> 
> http://www.gnu.org/software/bash/manual/bashref.html#Bash-Startup-Files
> 
>  *Quote:*   Invoked as an interactive login shell, or with --login
> ...

 

W skrócie, wykonaj:

```
echo "[[ -f ~/.bashrc ]] && . ~/.bashrc" >> ~/.bash_profile
```

Wyloguj się, zaloguj się, dodaj [SOLVED] do tematu. (-;

----------

