LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (http://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   .bashrc TUTORIAL for help newbie (http://www.linuxquestions.org/questions/linux-newbie-8/bashrc-tutorial-for-help-newbie-461010/)

frz 07-04-2006 06:22 PM

.bashrc TUTORIAL for help newbie
 
Hi. its now doin' 1 week that I'm usin' linux (Mandriva). It's my first nix OS and i decided to edit my .bashrc. I Think i'm the first to paste a .bashrc example script :D. This can maybe cool to add a place on the forum just for .bashrc scripting!!! :rolleyes: So here is my personal .bashrc

NORMAL USERs (/home/frz/.bashrc)

Quote:

# .bashrc

# User specific aliases and functions

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# Prompt konsol shell
PS1="[\u@\H \W] "


#### Perso ####
#############

# Défini les couleurs
BLACK='\e[0;30m'
BLUEF='\e[0;34m'
BLUEP='\e[1;34m'
GREENF='\e[0;32m'
GREENP='\e[1;32m'
CYANF='\e[0;36m'
CYANP='\e[1;36m'
REDF='\e[0;31m'
REDP='\e[1;31m'
PURPLEF='\e[0;35m'
PURPLEP='\e[1;35m'
BROWNF='\e[0;33m'
BROWNP='\e[1;33m'
GRAYF='\e[0;37m'
GRAYP='\e[1;37m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m' # No Color


# Message de bienvenue
clear
# Message de bienvenue
if [ "$USER" = "mathieu" ]; then
echo -e "${REDP}Welcome master. You are logged on $HOSTNAME.${NC}"
uname -a
echo ""
else
echo -e "${REDP}Welcome $USER. You are logged on $HOSTNAME.${NC}"
uname -a
echo ""
fi

# Aliases (variables)
alias home='cd /home'
alias frz='cd ~'
alias desktop='cd /home/frz/Desktop'
alias frzd='cd /home/frz/Desktop/frz'
alias lsa='ls -Al' # List all files (+hidden files)


# Functions
function cmds() # savoir mes commandes
{
echo -e "\n${REDP}Liste des commandes:"
echo -e "${GREENP} -Alias-"
echo -e "${BLUEP}aliasp: ${NC}Liste les commandes alias persos."
echo -e "\n${GREENP} -Functions-"
echo -e "${BLUEP}clog: ${NC}Clear les logs."
echo -e "${BLUEP}info: ${NC}Informations sur la session ouverte et l'ordinateur."
echo ""
}

function aliasp() #savoir mes alias
{
echo -e "\n${REDP}Liste des aliases persos:"
echo -e "${BLUEP}home: ${NC}Dossier home (~)."
echo -e "${BLUEP}frz: ${NC}Dossier frz."
echo -e "${BLUEP}desktop: ${NC}Dossier Desktop."
echo -e "${BLUEP}frzd: ${NC}Dossier frz sur le desktop."
echo -e "${BLUEP}lsa: ${NC}Liste tout les fichiers + fichiers cachés."
echo ""
}
function colors()
{
echo -e "\n${REDP}Code de couleurs:"
echo -e "${BLUEF}BLUEF ${NC}<--> ${BLUEP}BLUEP"
echo -e "${GREENF}GREENF ${NC}<--> ${GREENP}GREENP"
echo -e "${CYANF}CYANF ${NC}<--> ${CYANP}CYANP"
echo -e "${REDF}REDF ${NC}<--> ${REDP}REDP"
echo -e "${PURPLEF}PURPLEF ${NC}<--> ${PURPLEP}PURPLEP"
echo -e "${BROWNF}BROWNF ${NC}<--> ${BROWNP}BROWNP"
echo -e "${GRAYF}GRAYF ${NC}<--> ${GRAYP}GRAYP"
echo -e "${YELLOW}YELLOW"
echo -e "${WHITE}WHITE"
echo -e "${NC}NC (NO COLOR)"
echo ""
}

function info() # avoir les infos dla session ouverte et pc
{
echo -e "\nYou are logged on ${BLUEP}$HOSTNAME"
echo -e "\n${REDP}Additionnal information:$NC " ; uname -a
echo -e "\n${REDP}Users logged on:$NC " ; w -h
echo -e "\n${REDP}Current date :$NC " ; date
echo -e "\n${REDP}Machine stats :$NC " ; uptime
echo -e "\n${REDP}Memory stats :$NC " ; free
my_ip 2>&- ;
echo -e "\n${REDP}Local IP Address :$NC" ; echo ${MY_IP:-"Not connected"}
echo -e "\n${REDP}ISP Address :$NC" ; echo ${MY_ISP:-"Not connected"}
echo ""
}


function clog() # Clear les logs
{
if [ "$UID" = "0" ]; then # 0 = level r00t
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp
echo -e "${REDP}Logs cleaned up.${NC}"
echo ""
else
echo -e "${REDP}That cmd request a r00t access.${NC}"
echo ""
fi
}
r00t bash (/root/bashrc)

Quote:

# .bashrc

PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:/usr/local/sbin
ENV=$HOME/.bashrc
USERNAME="root"
export USERNAME ENV PATH

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# Prompt konsol shell
PS1="[\u@\H \W] "


#### Perso ####
#############

# Défini les couleurs
BLACK='\e[0;30m'
BLUEF='\e[0;34m'
BLUEP='\e[1;34m'
GREENF='\e[0;32m'
GREENP='\e[1;32m'
CYANF='\e[0;36m'
CYANP='\e[1;36m'
REDF='\e[0;31m'
REDP='\e[1;31m'
PURPLEF='\e[0;35m'
PURPLEP='\e[1;35m'
BROWNF='\e[0;33m'
BROWNP='\e[1;33m'
GRAYF='\e[0;37m'
GRAYP='\e[1;37m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m' # No Color


# Message de bienvenue
if [ "$UID" = "0" ]; then
echo -e "${REDP}Your are not logged as r00t on $HOSTNAME.${NC}"
uname -a
echo ""
else
echo -e "${REDP}Welcome $USER. You are logged on $HOSTNAME.${NC}"
uname -a
echo ""
fi

# Aliases (variables)
alias home='cd /home'
alias frz='cd ~'
alias desktop='cd /home/frz/Desktop'
alias frzd='cd /home/frz/Desktop/frz'
alias lsa='ls -Al' # List all files (+hidden files)


# Functions
function cmds() # savoir mes commandes
{
echo -e "\n${REDP}Liste des commandes:"
echo -e "${GREENP} -Alias-"
echo -e "${BLUEP}aliasp: ${NC}Liste les commandes alias persos."
echo -e "\n${GREENP} -Functions-"
echo -e "${BLUEP}clog: ${NC}Clear les logs."
echo -e "${BLUEP}info: ${NC}Informations sur la session ouverte et l'ordinateur."
echo ""
}

function aliasp() #savoir mes alias
{
echo -e "\n${REDP}Liste des aliases persos:"
echo -e "${BLUEP}home: ${NC}Dossier home (~)."
echo -e "${BLUEP}frz: ${NC}Dossier frz."
echo -e "${BLUEP}desktop: ${NC}Dossier Desktop."
echo -e "${BLUEP}frzd: ${NC}Dossier frz sur le desktop."
echo -e "${BLUEP}lsa: ${NC}Liste tout les fichiers + fichiers cachés."
echo ""
}
function colors()
{
echo -e "\n${REDP}Code de couleurs:"
echo -e "${BLUEF}BLUEF ${NC}<--> ${BLUEP}BLUEP"
echo -e "${GREENF}GREENF ${NC}<--> ${GREENP}GREENP"
echo -e "${CYANF}CYANF ${NC}<--> ${CYANP}CYANP"
echo -e "${REDF}REDF ${NC}<--> ${REDP}REDP"
echo -e "${PURPLEF}PURPLEF ${NC}<--> ${PURPLEP}PURPLEP"
echo -e "${BROWNF}BROWNF ${NC}<--> ${BROWNP}BROWNP"
echo -e "${GRAYF}GRAYF ${NC}<--> ${GRAYP}GRAYP"
echo -e "${YELLOW}YELLOW"
echo -e "${WHITE}WHITE"
echo -e "${NC}NC (NO COLOR)"
echo ""
}

function info() # avoir les infos dla session ouverte et pc
{
echo -e "\nYou are logged on ${BLUEP}$HOSTNAME"
echo -e "\n${REDP}Additionnal information:$NC " ; uname -a
echo -e "\n${REDP}Users logged on:$NC " ; w -h
echo -e "\n${REDP}Current date :$NC " ; date
echo -e "\n${REDP}Machine stats :$NC " ; uptime
echo -e "\n${REDP}Memory stats :$NC " ; free
my_ip 2>&- ;
echo -e "\n${REDP}Local IP Address :$NC" ; echo ${MY_IP:-"Not connected"}
echo -e "\n${REDP}ISP Address :$NC" ; echo ${MY_ISP:-"Not connected"}
echo ""
}

function clog() # Clear les logs
{
if [ "$UID" = "0" ]; then # 0 = level r00t
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp
echo -e "${REDP}Logs cleaned up.${NC}"
echo ""
else
echo -e "${REDP}That cmd request a r00t access.${NC}"
echo ""
fi
}
You can also make just one bashrc with more if, elif, then, else in the /etc/ ;) U must change the welcome message! Example:

Quote:

# /etc/bashrc

# System wide functions and aliases
# Environment stuff goes in /etc/profile

# by default, we want this to get set.
# Even for non-interactive, non-login shells.
if [ "`id -gn`" = "`id -un`" -a `id -u` -gt 99 ]; then
umask 002
else
umask 022
fi

# are we an interactive shell?
if [ "$PS1" ]; then
case $TERM in
xterm*)
PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD}\007"'
;;
*)
;;
esac
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

if [ -z "$loginsh" ]; then # We're not a login shell
# Not all scripts in profile.d are compatible with other shells
# TODO: make the scripts compatible or check the running shell by
# themselves.
if [ -n "${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}" ]; then
for i in /etc/profile.d/*.sh; do
if [ -x $i ]; then
. $i
fi
done
fi
fi
fi

unset loginsh


##################
### bashrc perso ###
##################
# Défini les couleurs
BLACK='\e[0;30m'
BLUEF='\e[0;34m'
BLUEP='\e[1;34m'
GREENF='\e[0;32m'
GREENP='\e[1;32m'
CYANF='\e[0;36m'
CYANP='\e[1;36m'
REDF='\e[0;31m'
REDP='\e[1;31m'
PURPLEF='\e[0;35m'
PURPLEP='\e[1;35m'
BROWNF='\e[0;33m'
BROWNP='\e[1;33m'
GRAYF='\e[0;37m'
GRAYP='\e[1;37m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m' # No Color

# Message de bienvenue
if [ "$UID" = "0" ]; then
echo -e "${REDP}You are not logged as r00t on $HOSTNAME.${NC}"
echo ""
elif [ "$USER" = "mathieu" ]; then
echo -e "${REDP}Welcome master. You are logged on $HOSTNAME.${NC}"
uname -a
echo ""
else
echo -e "${REDP}Welcome $USER. You are logged on $HOSTNAME.${NC}"
uname -a
echo ""
fi

# Aliases (variables)
alias home='cd /home'
alias frz='cd ~'
alias desktop='cd /home/frz/Desktop'
alias frzd='cd /home/frz/Desktop/frz'
alias lsa='ls -Al' # List all files (+hidden files)


# Functions
function cmds() # savoir mes commandes
{
echo -e "\n${REDP}Liste des commandes:"
echo -e "${GREENP} -Alias-"
echo -e "${BLUEP}aliasp: ${NC}Liste les commandes alias persos."
echo -e "\n${GREENP} -Functions-"
echo -e "${BLUEP}clog: ${NC}Clear les logs."
echo -e "${BLUEP}info: ${NC}Informations sur la session ouverte et l'ordinateur."
echo ""
}

function aliasp() #savoir mes alias
{
echo -e "\n${REDP}Liste des aliases persos:"
echo -e "${BLUEP}home: ${NC}Dossier home (~)."
echo -e "${BLUEP}frz: ${NC}Dossier frz."
echo -e "${BLUEP}desktop: ${NC}Dossier Desktop."
echo -e "${BLUEP}frzd: ${NC}Dossier frz sur le desktop."
echo -e "${BLUEP}lsa: ${NC}Liste tout les fichiers + fichiers cachés."
echo ""
}
function colors()
{
echo -e "\n${REDP}Code de couleurs:"
echo -e "${BLUEF}BLUEF ${NC}<--> ${BLUEP}BLUEP"
echo -e "${GREENF}GREENF ${NC}<--> ${GREENP}GREENP"
echo -e "${CYANF}CYANF ${NC}<--> ${CYANP}CYANP"
echo -e "${REDF}REDF ${NC}<--> ${REDP}REDP"
echo -e "${PURPLEF}PURPLEF ${NC}<--> ${PURPLEP}PURPLEP"
echo -e "${BROWNF}BROWNF ${NC}<--> ${BROWNP}BROWNP"
echo -e "${GRAYF}GRAYF ${NC}<--> ${GRAYP}GRAYP"
echo -e "${YELLOW}YELLOW"
echo -e "${WHITE}WHITE"
echo -e "${NC}NC (NO COLOR)"
echo ""
}

function info() # avoir les infos dla session ouverte et pc
{
echo -e "\nYou are logged on ${BLUEP}$HOSTNAME"
echo -e "\n${REDP}Additionnal information:$NC " ; uname -a
echo -e "\n${REDP}Users logged on:$NC " ; w -h
echo -e "\n${REDP}Current date :$NC " ; date
echo -e "\n${REDP}Machine stats :$NC " ; uptime
echo -e "\n${REDP}Memory stats :$NC " ; free
my_ip 2>&- ;
echo -e "\n${REDP}Local IP Address :$NC" ; echo ${MY_IP:-"Not connected"}
echo -e "\n${REDP}ISP Address :$NC" ; echo ${MY_ISP:-"Not connected"}
echo ""
}


function clog() # Clear les logs
{
if [ "$UID" = "0" ]; then # 0 = level r00t
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp
echo -e "${REDP}Logs cleaned up.${NC}"
echo ""
else
echo -e "${REDP}That cmd request a r00t access.${NC}"
echo ""
fi
}

DaneM 07-05-2006 02:13 AM

Great scripts!

Perhaps these should go under Tutorials?

--Dane

frz 07-05-2006 03:10 AM

Lol
 
Quote:

Originally Posted by DaneM
Great scripts!

Perhaps these should go under Tutorials?

--Dane

Of course.. n00bs can learn A LOT with that on bashrc files dude. :cool:

unSpawn 07-05-2006 05:31 AM

Of course.. n00bs can learn A LOT with that on bashrc files dude.
Yeah. Like this:

Code:

function clog() # Clear les logs
{
if [ "$UID" = "0" ]; then # 0 = level r00t
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp

- Who "invented" this function or what distribution ships this as "standard"?
- Why do you think would zeroeing out logs and records be "better" than using standard logrotate utility?

frz 07-05-2006 12:52 PM

Quote:

Originally Posted by unSpawn
Of course.. n00bs can learn A LOT with that on bashrc files dude.
Yeah. Like this:

Code:

function clog() # Clear les logs
{
if [ "$UID" = "0" ]; then # 0 = level r00t
cd /var/log
cat /dev/null > messages
cat /dev/null > wtmp

- Who "invented" this function or what distribution ships this as "standard"?
- Why do you think would zeroeing out logs and records be "better" than using standard logrotate utility?

What are you saying?, i posted that to look better with others merits, and you're telling people that publicly?

unSpawn 07-05-2006 01:27 PM

What are you saying?, i posted that to look better with others merits, and you're telling people that publicly?
What kind of answer is that?

frz 07-05-2006 01:57 PM

I seriously apologise an promise not to show disrespect to mods again!

unSpawn 07-05-2006 02:19 PM

Sorry unspawn ...
Oh, now I see, it's from an ABS example...
BTW, you where talking to, who?

frz 07-05-2006 03:35 PM

I really really apologise for my foul temper which is only surplused by
my bad manners.

DaneM 07-05-2006 04:01 PM

Geez! It was just a question...

ethics 07-05-2006 04:23 PM

Quote:

Originally Posted by frz
we REALLY don't want to see this

How do people like you get through birth, much less early childhood?

Tinkster 07-06-2006 03:53 AM

And now that this thread is settled and the nastyness gone ... closed.


All times are GMT -5. The time now is 05:39 PM.