Die ultimative .bashrc

dizzgo

dizzgo

Lernbereite Riesenratte
Hallo zusammen

Ein 'gute' .bashrc kann einem die Arbeit - bekannterweise - ganz schön erleichtern. Ich denke die meisten haben sich mittlerweile eine mehr oder weniger clevere .bashrc zusammen gestellt.
Ich fände es interessant zu sehen wie ihr euch die Arbeit mit Hilfe der .bashrc erleichtert. Ich mag es .bashrcs von andern anzuschauen, man sieht immer wieder neue Ideen.
Wenn einige ihre exportieren Variablen, gesetzen Aliase, Funktionen usw. posten kann man sich bestimmet eine ziemlich tolle .bashrc zusammenstellen...

Ich fang mal an (die standards ;))

Aliase:
Code:
# ls aliase
alias ll='ls -lh'
alias la='ls -A'
alias l='ls -lha'
alias dir='ls -lht | less'

# be faster aliase
alias cd..='cd ..'
alias ..='cd ..'
alias ...='cd ../..'
alias cls='clear'
alias h='history'
alias df='df -h'

Vaiablen:
Code:
export EDITOR=vim
export VISUAL=$EDITOR
export PAGER=less
export LESS='-iMn'

Funktionen:
Code:
# prozesse finden (ps -ef | grep prozess)
function psgr()
{
FIRST=`echo $1 | sed -e 's/^\(.\).*/\1/'`
REST=`echo $1 | sed -e 's/^.\(.*\)/\1/'`
ps -ef | grep -v "$0" | grep "[$FIRST]$REST"
}

Ich freu mich schon auf phantasievollere beiträge ;)

Gruss
d22
 
Da ich immer zu faul bin jedesmal 'emerge' einzutippen hab ich mir das mal gut gekürzt *g*

Code:
alias es="eix-sync"
alias pw="emerge -upND world"
alias uw="emerge -uqND world && etc-update"
alias p="emerge -p"
alias pv="emerge -pv"
alias qm="emerge -q"
alias MC="vi /etc/make.conf"
alias KW="vi /etc/portage/package.keywords"

MfG
 
Code:
alias cdcopy='/usr/bin/cdrdao copy --device 0,0,0'
alias md5='/usr/bin/md5sum -c'
alias jigdo='/usr/local/bin/jigdo-lite'
export PAGER=most
 
Die Ultimative bashrc wird es wohl nicht geben.
Jeder hat seine eigenen Shorts und wiederholende Aufgaben.

Ich benutze Debian Sarge, und habe mir eine sudoerrs eingerichtet.

Ich fand es z.B. ganz nützlich das Dollarsymbol für meine Perlhacks ohne Shifttaste greifbar zu haben.
Die Tastatur hat bei mir noch diese für mich unbrauchbare Windows Taste...;)
Links liegt dann $ rechts @.

Code:
if [ -n "$DISPLAY" ]; then
xmodmap -e 'keycode 115 = dollar';
xmodmap -e 'keycode 116 = at';
xmodmap -e "keycode 22=BackSpace";
fi
### apt-get
alias such='sudo apt-cache search'
alias inst='sudo apt-get install'
alias au='sudo apt-get update'
alias ax='sudo apt-get upgrade'
alias policy='sudo apt-cache policy'
alias show='sudo apt-cache show'
## tar-handling
export df_tgz='date +"%a-%d-%m-%Y_%H-%M.tar.gz"'
export df_tbz='date +"%a-%d-%m-%Y_%H-%M.tar.bz"'
alias utarz='tar -xzf'
alias utarb='tar -xjf'
alias tarz='tar -czf $(whoami)_$df_tgz'
alias tarb='tar -cjf $(whoami)_$df_tbz'
## weblogs
alias weblog='cat /var/log/apache2/access.log'
alias webelog='cat /var/log/apache2/error.log'
## Meine IP als pppoe user ohne router
alias IN='sudo ifconfig ppp0|sed -e '\''/inet Adresse/!d;{s/.*se:\([^[:space:]]*\).*/\1/g}'\'''
## Timestamp to  date
alias zeit='/usr/bin/perl -e '\''print scalar localtime $ARGV[0],"\n"'\'''
## shutdown 
runter="sudo /sbin/shutdown -h now"
## backup-part mounten als user
alias mounta13='sudo mount /dev/hda13 /mnt/hda13 -treiserfs -orw,users,exec'
....
Dann kommen noch eine Menge persönlicher Funktionen für spezielle Aufgaben.
Andere Dinge erledige ich über meine fluxbox keys, da werden diverse Scripte gestartet.

Gruß Wolfgang
 
@Wolfgang:
Tip: apt-cache funktioniert auch ohne root-Rechte ;)
 
Das es keine ultimative .bashrc gibt ist mir schon klar ;) Aber ich hab schon jetzt ein paar coole neue Sachen für meine .bashrc gesehen...

Danke für eure Posts :)

Gruss
d22
 
.alias <-> .bashrc

Aber ich hab schon jetzt ein paar coole neue Sachen für meine .bashrc gesehen...
Ich auch :)

@Wolfgang, das mit den Windows-Tasten mache ich auch!

Überhaupt coole Idee der Thread, dizzgo.

Wo wir übrigens gerade dabei sind, habt ihr interessante Dinge in ".alias" stehen?

Mir ist zwar klar, daß ich mit meinem Japanisch-Zeugs hier ein Exot bin, aber das hier:
Code:
alias JP='LANG=ja_JP.UTF-8 XMODIFIERS="@im=SCIM"'
führt dazu, daß ich mit JP kwrite einen Editor am Start habe, in dem ich mit Skim japanesisch schreiben kann... während außerhalb des Editors "LANG" anders besetzt ist:
Code:
jens@trebulon-1:~> echo $LANG
de_DE@euro
und innerhalb einer Shell (--> JP kterm &)
Code:
jens@trebulon-1:~> echo $LANG
ja_JP.UTF-8
Ist es nicht überhaupt auch interessanter, in ".alias" was einzutragen, solange das in anderen Shells als bash klappt?
 
Zuletzt bearbeitet:
~/etc/bash/functions
Code:
## various functions

function vman(){
	/usr/bin/man $* | col -b | /usr/bin/view -c 'set ft=man nomod nolist' -
}

function makeiso() {
	local ISO_FILE ISO_VOL_ID SOURCE USAGE
	USAGE="usage: makeiso ISO_FILE ISO_VOL_ID SOURCE [SOURCE2 SOURCE 3...]"
	if [ -z "$1" ]; then
		echo -e "${USAGE}"; return 1
	fi
	ISO_FILE="$1"
	ISO_VOL_ID="$2"
	shift 2
	SOURCE="$@"
	mkisofs -J -r -V "${ISO_VOL_ID}" -o "${ISO_FILE}" ${SOURCE}
}

function burniso() {
	local ISO_FILE CDRECORD_ARGS USAGE
	USAGE="usage: burniso ISO_FILE"
	if [ -z "$1" ]; then
		echo -e "${USAGE}"; return 1
	fi
	ISO_FILE="$1"
	CDRECORD_ARGS="-v dev=$CDR_DEVICE speed=$CDR_SPEED driveropts=burnfree -eject"
	sudo cdrecord ${CDRECORD_ARGS} -data "${ISO_FILE}"
}

function copycd() {
	local CD_DEV CDR_DEV CDR_SPEED CDRECORD_ARGS USAGE
	USAGE="usage: copycd CD_DEV CDR_DEV CDR_SPEED"
	if [ -z "$1" ]; then
		echo -e "${USAGE}"; return 1
	fi
	CD_DEV="$1"
	CDR_DEV_ID="$2"
	CDR_SPEED="$3"
	CDRECORD_ARGS="-v dev=$CDR_DEV_ID speed=$CDR_SPEED driveropts=burnfree -eject"
	cdrecord ${CDRECORD_ARGS} -isosize ${CD_DEV}
}

function ripcd() {
	while true; do
		echo "*** ripper:"
		echo "--- 1: cdda2wav"
		echo "--- 2: cdparanoia"
		echo "--- q: none, quit."
		echo -n "--- use: "
		read -en 1 use
		case "${use}" in
			1)
				exec sudo cdda2wav -O wav -H -B -P 0
				;;
			2)
				exec sudo cdparanoia -b -d /dev/cdrom
				;;
			q)
				echo "*** have a nice day. EOF"
				break
				;;
			*)
				echo "!!! wrong answer."
				;;
		esac
	done
}

function mrproper() {
	local DIR PATTERN USAGE
	USAGE="mrproper [DIR]"
	PATTERN="^.*/(.*(~|\.(bak|tmp|orig|rej|swp))|core|a\.out)$"
	if [ -z "$1" ]; then
		DIR="."
	else
		DIR="$1"
	fi
	echo -n "really clean directory \"$DIR\" RECURSIVELY?: "
	read yn
	if [ "$yn" = "y" ]; then
		find "$DIR" -type f | egrep "$PATTERN" | xargs -i rm -vf "{}"
	else
		echo -n "not "
	fi
	echo "cleaned."
}

function colors() {
	local T FGs FG BG
	T="gYw" # the test text
	echo -e "\n                 40m     41m     42m     43m     44m     45m     46m     47m"
	for FGs in \
		'    m' '   1m' '  30m' '1;30m' '  31m' '1;31m' '  32m' \
		'1;32m' '  33m' '1;33m' '  34m' '1;34m' '  35m' '1;35m' \
		'  36m' '1;36m' '  37m' '1;37m'; do
		FG=${FGs// /}
		echo -en " $FGs \033[$FG  $T  "
		for BG in 40m 41m 42m 43m 44m 45m 46m 47m; do
			echo -en " \033[$FG\033[$BG  $T  \033[0m"
		done
		echo
	done
	echo
}

function f() {
	local USAGE
	USAGE="usage: f [PATH] [INAME]\n\nINAME is a case insensitive name-pattern"
	find ${1:+ "$1"} ${2:+ \-iname "$2"} -print
}

function mkcd() {
	local USAGE
	USAGE="usage: mkcd DIRECTORY"
	if [ -z "$1" ]; then
		echo -e "$USAGE"; return 1
	fi
	mkdir -p "$1"; cd "$1"
}

function pfcp() {
	local USAGE
	USAGE="usage: pfcp SRC DST"
	if [ "$#" -lt 2 ]; then
		echo -e "$USAGE"; return 1
	fi
	src="$1"
	if [ ! -f "${src}" ]; then
		echo "ERROR: can only copy regular files"; return 1
	fi
	src_base="${src##*/}"
	dst="$2"
	if [ -d "${dst}" ]; then
		dst="${dst%*/}/${src_base}"
	fi
	pv -W -p -t -e -r -b -s $(du -sb "${src}" | awk '{ print $1 }') < "${src}" >"${dst}"
	# pipemeter -f "${src}" >"${dst}"
}

function prompt_elite {
	local C_GRAY="\[\033[1;30m\]"
	local C_LIGHT_GRAY="\[\033[0;37m\]"
	local C_CYAN="\[\033[0;36m\]"
	local C_LIGHT_CYAN="\[\033[1;36m\]"
	local C_NONE="\[\033[0m\]"
	case $TERM in
		xterm*|rxvt*)
			local TITLEBAR='\[\033]0;\u@\h:\w\007\]'
			;;
		*)
			local TITLEBAR=""
			;;
	esac
	local temp=$(tty)
	local GRAD1=${temp:5}
	PS1="$TITLEBAR$C_GRAY-$C_CYAN-$C_LIGHT_CYAN($C_CYAN\u$C_GRAY@$C_CYAN\h$C_LIGHT_CYAN)$C_CYAN-$C_LIGHT_CYAN($C_CYAN\#$C_GRAY/$C_CYAN$GRAD1$C_LIGHT_CYAN)$C_CYAN-$C_LIGHT_CYAN($C_CYAN\$(date +%H%M)$C_GRAY/$C_CYAN\$(date +%d-%b-%y)$C_LIGHT_CYAN)$C_CYAN-$GRAY-$C_LIGHT_GRAY\n$C_GRAY-$C_CYAN-$C_LIGHT_CYAN($C_CYAN\$$C_GRAY:$C_CYAN\w$C_LIGHT_CYAN)$C_CYAN-$C_GRAY-$C_LIGHT_GRAY "
	PS2="$LIGHT_CYAN-$CYAN-$GRAY-$C_NONE "
}
function remount() {
	/bin/mount -o remount ${1+"$@"};
}
function repeat() {
	local USAGE COUNT I
	USAGE="usage: repeat COUNT COMMAND"
	if [ -z "$1" ] || [ -z "$2" ]; then
		echo -e "$USAGE"; return 1
	fi
	COUNT="$1"
	shift
	for I in $(seq 1 "$COUNT"); do
		eval "$@"
	done
}
function rot13() {
	if [ $# = 0 ] ; then
		tr "[a-m][n-z][A-M][N-Z]" "[n-z][a-m][N-Z][A-M]"
	else
		tr "[a-m][n-z][A-M][N-Z]" "[n-z][a-m][N-Z][A-M]" < $1
	fi
}
## sizeof function for bash-arrays
function sizeof() {
	eval echo \${#$1[@]}
}
## returns short pwd (last two directories)
function spwd() {
	IFS="/"
	set $PWD
	if test $# -le 3 ; then
		echo "$PWD"
	else
		eval echo \"..\${$(($# - 1))}/\${$#}\"
	fi
}
## returns base pwd (last directory)
function bpwd() {
	echo "${PWD##*/}"
}
## shell seq replacement
function sseq() {
	local FIRST LAST INCREMENT CMP OP USAGE
	USAGE="usage: sseq LAST\n   or: sseq FIRST LAST\n   or: sseq FIRST INCREMENT LAST"
	case "$#" in
		1) LAST=$1 FIRST=1 INCREMENT=1;;
		2) LAST=$2 FIRST=$1 INCREMENT=1;;
		3) LAST=$3 FIRST=$1 INCREMENT=$2;;
		*) echo -e "$USAGE"; return 1;;
	esac
	if [ $FIRST -eq $LAST ]; then return
	elif [ $FIRST -lt $LAST ]; then CMP="le" OP="+"
	elif [ $FIRST -gt $LAST ]; then CMP="ge" OP="-"
	fi
	while [ $FIRST -$CMP $LAST ]; do
		echo "$FIRST"
		FIRST=$(($FIRST $OP $INCREMENT))
	done
}
## ssh-copy-id clone
test -x "$(type -p ssh-copy-id)" || {
	function ssh-copy-id() {
		local USAGE DST_HOST DST_AUTHKEYS SRC_PUBKEY
		USAGE="usage: ssh-copy-id [USER@]HOST"
		if [ -z "$1" ]; then
			echo -e "$USAGE"; return 1
		fi
		DST_HOST="$1"
		shift
		SSH_PARAMS="$@"
		DST_SSHDIR="~/.ssh"
		DST_SSHAUTHKEYS="${DST_SSHDIR}/authorized_keys2"
		SRC_SSHPUBKEY="$HOME/.ssh/id_dsa.pub"
		ssh $DST_HOST $SSH_PARAMS "test -d ${DST_SSHDIR} || mkdir -p ${DST_SSHDIR}; cat >>$DST_SSHAUTHKEYS" <"$SRC_SSHPUBKEY" && {
			echo "public key $SRC_SSHPUBKEY copied successfully to $DST_HOST:$DST_SSHAUTHKEYS."
		}
	}
}
function swatch() {
	local USAGE FILE
	USAGE="usage: swatch INTERVAL COMMAND"
	if [ -z "${1}" ] || [ -z "${2}" ]; then
		echo -e "${USAGE}"; return 1
	fi
	while true; do
		clear
		echo -e "Every ${1}s: ${2}\t[$(date)]"
		eval ${2}
		sleep ${1}
	done
}
function now() {
	local USAGE DELIMITER FMT
	USAGE="usage: now ELEMENT [DELIMITER]\n\nELEMENT can be date [d] or time [t]"
	DELIMITER=""; test -n "$2" && DELIMITER="$2"
	case "$1" in
		date|d) FMT="%Y$DELIMITER%m$DELIMITER%d";;
		time|t) FMT="%H$DELIMITER%M$DELIMITER%S";;
		*) echo -e "$USAGE"; return 1
	esac
	date +$FMT
}
function untar() {
	local USAGE FILE
	USAGE="usage: untar FILE [FILE 2] ... [FILE n]"
	if [ -z "$1" ]; then
		echo -e "$USAGE"; return 1
	fi
	for FILE in $*; do
		tar xvf $FILE
	done
}
function untbz2() {
	local USAGE FILE
	USAGE="usage: untbz2 FILE [FILE 2] ... [FILE n]"
	if [ -z "$1" ]; then
		echo -e "$USAGE"; return 1
	fi
	for FILE in $*; do
		tar xjvf $FILE
	done
}

function untgz() {
	local USAGE FILE
	USAGE="usage: untgz FILE [FILE 2] ... [FILE n]"
	if [ -z "$1" ]; then
		echo -e "$USAGE"; return 1
	fi
	for FILE in $*; do
		tar xzvf $FILE
	done
}

oports () {
    netstat -ant | grep LISTEN
}

~/etc/bash/alias
Code:
alias ls='ls --color=auto'
alias mc='mc -b'
alias mcedit='mcedit -b'
alias vi='vim'
alias ll='ls -l'
alias lw='ll | wc -l'
alias v='vim'
alias cl="clear"
alias ..="cd .."
alias ...="cd ../.."
alias myip="/sbin/ifconfig | sed 's/\:/ /g' | awk '/P-[tz]-P/ {print \$3}'"
alias df="pydf"
alias ducks='du -cks *|sort -rn|head -11'

Wolfgang für IP brauchst auch kein sudo ;)


Der rest ist eigentlich weniger interessant...
 
Sind nur paar exports etc.
Also nichts mehr wo man viel draus lesen kann

Ausser eventuell:
Code:
export drive=`echo $PWD | awk 'BEGIN {FS="/"} {print $2}'`
 
eigentlich müsste man so einen thread mal über zsh machen ;)
 
nix besonderes ein paar alias
kommen aber noch einige dazu mit der zeit
alias ls='ls -l'
alias df='df -h'
alias eth0up='ifconfig eth0 up'
alias eth1up='ifconfig eth1 up'
alias iwscan='iwlist eth0 scanning'
alias bt='hcitool scan'
alias licq='licq &'
alias amule='amule &'
alias esel='amule &'
alias incoming='ls /root/.aMule/Incoming'

hab ich gestern angefangen , eine kleine spielerei und noch nicht fertig :)
if ! test -e /mnt/USB_Drive/linux/bashpw
then
echo "Usb stick nicht aktiv oder datei nicht vorhanden"
sleep 5
exit
else
PWFILE="/mnt/USB_Drive/linux/bashpw"
trap "" 2 3
echo -n " Shellcode?>>"
read line
code=`cat $PWFILE`
if [ "$line" = "$code" ]
then
echo "correct...have fun"
else
echo "oh mein gott, sie haben kenny getötet"
sleep 1;clear;echo "3";sleep 1;clear;echo "2";sleep 1;clear;echo "1";sleep 1;clear;echo "goodbye"
sleep 1
exit
fi
fi


heute angefangen sieht dann so aus
die funktionen sind noch nich ganz fertig
###################################
# amule incoming files.... #
# [l]s Incoming #
# [m]ove all files to /downloads #
# [r]ar unpack and [m]ove #
# [z]ip unzip and [mo]ve #
# [a]udio files -> /downloads/musik #
# [v]ideo files -> /downloads/filme #
# ack #
###################################
root@jacque: l
total 0
[root@jacque ~]#







menu()
{
clear
echo "########################################"
echo "# amule incoming files.... #"
echo "# [l]s Incoming #"
echo "# [m]ove all files to /downloads #"
echo "# [r]ar unpack and [m]ove #"
echo "# [z]ip unzip and [mo]ve #"
echo "# [a]udio files -> /downloads/musik #"
echo "# [v]ideo files -> /downloads/filme #"
echo "# ack #"
echo "########################################"
echo -n "$USER@$HOSTNAME: "
read line
if [ "$line" = "" ]
then
line=dummy
fi
case $line in
l) view;;
m) move;;
r) rar;;
z) zip;;
a) audio;;
v) video;;
b) back;;
esac

}
view()
{
ls -l /root/.aMule/Incoming

}
move()
{

mv /root/.aMule/Incoming/* /downloads
echo "Dateien verschoben"
}
back()
{
echo "goodbye"
}
rar()
{
echo "coming soon"
}
zip()
{
echo "coming soon"
}
audio()
{
mv *.mp3 /downloads/musik
echo "Mp3s verschoben"
}
video()
{
echo "coming soon"
}


 
Zuletzt bearbeitet:
Es passt nicht ganz hier rein, aber ich poste das trotzdem mal:

Code:
set completion-ignore-case on

in ~/.inputrc bzw. /etc/inputrc eingetragen bewirkt, dass die autocompletion in Zukunft Groß- und Kleinbuchstaben ignoriert. Sehr praktisch.

Ich vergesse manchmal, root-sitzungen nach getaner Arbeit zu schließen und ärgerte mich jedesmal darüber, wenn ich diese offenen Sitzungen dann doch irgendwann wiederentdeckte. Deshalb steht das hier in meiner /etc/.bashrc.local:

Code:
export TMOUT=600

...kommt aber nur zum Einsatz, wenn der prompt zu sehen ist, laufende Anwendungen wie ein Editor setzen den timeout außer Kraft.

Edit: Doch besser so:

Code:
if [ "`id -u`" -eq 0 ]; then
  IDLELOGOUT=600
  echo "root will be logged out after 10 minutes without input or job"
  export TMOUT=$IDLELOGOUT
fi

An Stelle von 'after 10 minutes' kann auch 'after $IDLELOGOUT seconds' stehen, dann isses ganz präzise angegeben. Auf diese Weise wird jedenfalls nur root ausgeloggt, user-shells bleiben stehen.
 
Zuletzt bearbeitet:
Code:
##
# Version und Kernel
echo "Debian GNU/Linux 4.0 - Kernel $(uname -r)"
echo -------------------------------------------

##
# Datum
date "+ %a, der %d %B %Y"
Muss ich haben, sonst krieg ich Komplexe :D

Mein Editor:
Code:
##
# Editor
export EDITOR=/usr/bin/joe

Aliases:
Code:
alias ls='ls --color=auto'
alias l='ls' 
alias ll='ls -lh $LS_OPTIONS'
alias la='ls -lah'
##
# Verzeichnis zu gross? Dann schicks durch less:
ls_great ()
{ cd ${1} ; ll | less; cd -; }
alias lg='ls_great'
# 
##
# show content of directory immediately
cdd () { cd ${1} ; echo $PWD ; ls -FC --color ; }
#
#alias cd='cdd'
#
##
# nice aliases
 alias ifc='sudo ifconfig'
 alias pi='ping www.alice-dsl.de'
 alias ipt='sudo iptables -L'
 alias scan='sudo nmap localhost'
 alias net='sudo netstat -ap'
 alias ps='sudo ps aux'

Und zu guter letzt mein Prompt:
Code:
##
# Comment in the above and uncomment this below for a color prompt
PS1='\n${debian_chroot:+($debian_chroot)}\[\033[01;32m\]buli\[\033[01;34m\]@\[\033[01;32m\]\h\[\033[01;37m\]:\[\033[01;34m\]\w\[\033[01;31m\]->\[\033[00m\] '
Sieht dann so aus:
buli@debian:~->
 
@caba: Wie bitte? Nur ein paar exports, die nicht weiter wichtig seien? Guck mal, was man so alles machen kann:

Code:
echo "Willkommen auf `hostname`."
echo "openSuSE Linux 10.2 mit Linux `uname -r`"
#Nie die Uhr aus dem Auge verlieren
export PROMPT_COMMAND='date +%H:%M:%S'
#So, und jetzt noch einen guten Prompt
#Doppelstring muss sein, weil $? nur in "" und $ nur in '' interpretiert wird
export PS1="\u:\w \$?"'\$ '
export PS2='> '
#leichter überall hinkommen
export CDPATH='.:~:/:/usr'
#na gut, überall ist relativ
export LANG="de_DE.UTF-8" #man kann ja nie wissen...
export EDITOR=vim
export PAGER=less
export LESSOPEN='/usr/bin/lessopen.sh %s'
export LS_OPTIONS='-N --color=tty -T 0'
stty sane #sollte zwar, aber man kann ja mal
. .alias # ja, SuSE ist ein Segen
# trobsdem muss man noch was selber machen
alias th='thunderbird &'
alias ff='firefox &'
case $WINDOWMANAGER in
    *openbox*) xsetbg /usr/share/wallpapers/Soaring.jpg 2>&-
    ;;
    *kde*) echo 'ALARM! Speicherfresser an Bord.' >&2 ; false
    ;;
    *) echo 'Kein OpenBox? Seltensam.'
    ;;
esac
export TZ=Europe/Berlin

HTH,
nullplan
 
Zuletzt bearbeitet:
Hallo,

um das hier mal wieder zu beleben :)

Meine .bashrc

Code:
function shell_colored {                                             
        local GRAY="\[\033[1;30m\]"                                  
        local LIGHT_GRAY="\[\033[0;37m\]"                            
        local CYAN="\[\033[0;36m\]"                                  
        local LIGHT_CYAN="\[\033[1;36m\]"                            
        local NO_COLOUR="\[\033[0m\]"                                
        local BLUE="\[\033[0;34m\]"                                  
        local LIGHT_BLUE="\[\033[1;34m\]"                            
        local RED="\[\033[0;31m\]"                                   
        local LIGHT_RED="\[\033[1;31m\]"                             
        local GREEN="\[\033[0;32m\]"                                 
        local LIGHT_GREEN="\[\033[1;32m\]"                           
        local PURPLE="\[\033[0;35m\]"                                
        local LIGHT_PURPLE="\[\033[1;35m\]"                          
        local BROWN="\[\033[0;33m\]"                                 
        local YELLOW="\[\033[1;33m\]"                                
        local BLACK="\[\033[0;30m\]"                                 
        local WHITE="\[\033[1;37m\]"                                 
        # PS1="$LIGHT_GREEN\u $YELLOW[$RED\w$YELLOW] $LIGHT_BLUE(\$(date +%H:%M:%S))$NO_COLOUR: "
        PS1="$LIGHT_GREEN\u $YELLOW[$RED\w$YELLOW]$NO_COLOUR "                                   
}                                                                                                

function calc {
        echo $@ | sed -e "s/)\([0-9]\)/\)*\1/g" \
        | sed -e "s/\([0-9]\)(/\1\*(/g" \        
        | sed s/")("/")*("/g | sed s/[Xx]/*/g \  
        | sed s/":"/"\/"/g \                     
        | sed s/,/\./g | bc -l                   
}                                                

function fortune_add {
    FDIR="~/.fortune" 
    echo -e "%\n$1" >> $FDIR/$(date +%Y-%m-%d_%H-%M-%S)
    rm -f $FDIR/*.dat                               
    make -C $FDIR                                   
}

function fortune_update {
    FDIR="~/.fortune"    
    rm -f $FDIR/*.dat    
    make -C $FDIR        
}                        

function file_information {
        if [ $1 ]; then    
                PLACE=`type -path $1`
                if [ -z $PLACE ]; then echo "$1: not found"; return 1; fi
                echo $PLACE                                              
                ls -l $PLACE                                             
                file $PLACE                                              
                ldd $PLACE                                               
        else                                                             
                echo "Missing argument"                                  
        fi                                                               
}
alias finfo=file_information

function file_backup {
        for FILE ; do
                [[ -e "$1" ]] && cp "$1" "${1}_$(date +%Y-%m-%d_%H-%M-%S)" || echo "\"$1\" not found." >&2
        done
}
alias fback=file_backup

shell_colored

alias tankwars="dosbox -c 'cd c:\spiele\tankwars' -c 'bomb.exe'"
alias ls="ls $LS_OPTIONS"
alias la="ls -al --color | most"
alias ..="cd .."
alias ...="cd ../.."

PATH=$PATH":/opt/eclipse:/opt/fop:/opt/serna/bin/"
export PATH
export EDITOR=nano
export VISUAL=$EDITOR
export PAGER=most

/usr/games/fortune
/usr/games/fortune ~/.fortune

cu
 
Zuletzt bearbeitet:

Ähnliche Themen

Skript soll nicht doppelt laufen... kill pkill pid cron

Skript bei Lubuntu nach jedem Start ausführen

Queue für copy Script

Shell-Skript nicht doppelt starten

Gnome Classic Desktop: Home-Inhalt Icons ausblenden

Zurück
Oben