bashrc und co

mwr87

New member
Themenstarter
Registriert
26 Aug. 2009
Beiträge
72
Wer sein Linux besser und besser an das Thinkpad anpassen will kommt an einem Terminal wie Bash nicht vorbei.
Meist wird man kurz darauf die .bashrc anfassen, um Scripte, Aliase oder Funktionen zu pflegen und zu personalisieren bzw den Komfort zu steigern. Wie so etwas aussehen kann ?

Meine Konsole zeigt mir beim Start neben einen kleinen ASCII-Logo auch Netzwerkadressen an. Gebt mir in Rot eine Warnung falls im Akkubetrieb der Ladestand unter 25% fällt und der Befehl "sudo apt-get update && sudo apt-get upgrade" wurde auf ein kurzes check_updates reduziert.

Welche sind eure Lieblingsfunktionen für das Bash-Terminal bzw wie sehen sie aus?
 

Anhänge

  • bash.png
    bash.png
    260,2 KB · Aufrufe: 304
[quote='xchrissix95',index.php?page=Thread&postID=764357#post764357]2.6.32-12[/quote]Wo hast Du den Kernel denn abgestaubt? 8)
 
[quote='Starko',index.php?page=Thread&postID=764194#post764194]Kann noch jemand post, wie man diverse weiter Infos in die .bashrc bringt die man hier schon verwinzelt gesehn hat wie z.B.:
  • IP-Adresse(n)
  • Name der Distribution
  • Kernel
  • PC-Name u. Username (ok mir fällt grade ein, dass das nicht so viel Sinn macht, weil das ja schon im Prompt steht)
  • etc.
Dafür wäre ich sehr dankbar![/quote]

IP Adresse kannste über das folgenden versuchen

Code:
ifconfig | grep 'inet Adresse:*' | head -n1

besser noch über

Code:
ifconfig | grep 'inet Adresse:*' | head -n1 | cut  -c16-39

Wobei das letzte wahrscheinlich nicht zuverlässig auf jedem System läuft funktioniert musste anpassen.(Einfach mit den Zahlen hinten bei cut spielen)
 
[quote='linrunner',index.php?page=Thread&postID=764359#post764359][quote='xchrissix95',index.php?page=Thread&postID=764357#post764357]2.6.32-12[/quote]Wo hast Du den Kernel denn abgestaubt? 8)[/quote]

Das war 'n Beispiel: im Moment hab ich: 2.6.31-14
 
[quote='xchrissix95',index.php?page=Thread&postID=764357#post764357]Also Kernel einfach so:
echo "(uname -r)"
Das Ergebnis:
2.6.32-12[/quote]

Hallo! Danke das du mich auf 'uname ' gebracht hast, das ist ein echt netter Befehl, nur warum wird der mir immer in Textform ausgegeben? Und nicht ausgeführt?
Ich habs schon auf diverse Arten probiert. Mit Klammer, ohne Klammer, mit/ohne Anführungsstriche aber irgendwas klappt das nicht..
Ah habe grade gefunden, der Befehl kommt ohne irgendwas in die .bashrc! Habe jetzt ein 'uname -snr' drin und es geht super.

Mir ifconfig und grep spiele ich spiele ich grade rum.
 
Vor der öffnenden Klammer sollte ein $ stehen damit der Befehl ausgeführt wird.

Command Substitution
Command substitution allows the output of a command to replace the command name. There are two forms:

$(command)
or
`command`

Bash performs the expansion by executing command and replacing the command substitution with the standard output of the command, with any trailing newlines deleted...

Beispiel:
Code:
echo "${0}rc & co auf kernel $(uname -r)"
 
[quote='Starko',index.php?page=Thread&postID=764674#post764674][quote='xchrissix95',index.php?page=Thread&postID=764357#post764357]Also Kernel einfach so:
echo "(uname -r)"
Das Ergebnis:
2.6.32-12[/quote]

Hallo! Danke das du mich auf 'uname ' gebracht hast, das ist ein echt netter Befehl, nur warum wird der mir immer in Textform ausgegeben? Und nicht ausgeführt?
Ich habs schon auf diverse Arten probiert. Mit Klammer, ohne Klammer, mit/ohne Anführungsstriche aber irgendwas klappt das nicht..
Ah habe grade gefunden, der Befehl kommt ohne irgendwas in die .bashrc! Habe jetzt ein 'uname -snr' drin und es geht super.

Mir ifconfig und grep spiele ich spiele ich grade rum.[/quote]


Wie tcone sagt... du musst die richtigen Anführungszeichen verwenden. Wenn du doppel Füßchen nimmst " " Dann wird bei echo einfach das geschrieben was drin steht(Das selbe wenn du ' ' verwendest). Wenn du aber die backticks nimmst `` dann klappt es also:

Code:
echo `uname -r`
 
Danke für den Tipp mit dem "$" und den "`" aber muss ich das in Verbindung mit dem echo einsetzen? Weil meine Lösung ganz ohne echo läuft doch auch oder ist das der falsche Weg?
 
ah richtig sry hatte überlesen das es auch so läuft. Du kannst das mit echo und ` ` zum besseren fomatieren einsetzen. Dann haste nicht für jede Info ne neue Zeile. z.Bsp

Code:
echo `uname -r` `whoami`
Ergibt eine Zeile --> Im Unterschied zu einzelnen Kommandos. Außerdem kann man noch Text hinzugfügen usw....
Aber wenns läuft dann läufts ;)

Code:
echo `uname -r`" User:" `whoami`

BTW: Das Kommando whoami ist meistens sehr sinnlos ;)
 
[quote='simlan',index.php?page=Thread&postID=764785#post764785]Das Kommando whoami ist meistens sehr sinnlos[/quote]
Uname an dieser Stelle ebenso, das aendert sich ja normalerweise nicht alle halbe Stunde.
 
Ah vielen vielen Dank! Das ist super! Ich konnte die Reihenfolge der Ausgabe von "uname" leider nicht beeinflussen wenn ich die Reihenfolge der Parameter geändert habe! Das geht jetzt mit "`" !
Habe jetzt folgendes:
Code:
echo -e "  ______________________________________________________________________";
echo -e " ";
echo -e "      == " `uname -o`" - "`uname -n`" - "`uname -r`" - "`uname -m` " ==  ";
echo -e "  ______________________________________________________________________";
echo -e " ";

Und selbst wenn es sinnfrei ist, ich bin neu in der Linux-Ecke und habe mir mein X61s nur aus dem Grund gekauft um ein Notebook mit Linux zu haben um den Umgang besser zu lernen. Und durch solche Spielereien habe ich heute schon drei Befehle gelernt die ich nicht kannte. Oder sogar mehr. head, cut, uname, whoami. Wer weiß wann ich die mal brauche.
 
[quote='xchrissix95',index.php?page=Thread&postID=764806#post764806]der Nächste Wäre:
Code:
cd /
rm -rf *
:D[/quote]

Dann öffne ich meinen Terminal aber auch nur noch einmal...

Ich habe noch ein "Problem". Das habe ich, seitdem ich das Logo eingebaut habe welches hier in dem Topci gepostet wurde.
Meine Schrift ist "dicker" geworden. Sobald ich dann zb ein "ls" mache wird sie wieder normal. Weiß einer wie ich das in den Griff bekomme?
Ich hänge mal ein Bild an und meine .bashrc
Code:
# Farben definieren
BLACK='\e[0;30m'
BLUE='\e[0;34m'
GREEN='\e[0;32m'
CYAN='\e[0;36m'
RED='\e[0;31m'
PURPLE='\e[0;35m'
BROWN='\e[0;33m'
LIGHTGRAY='\e[0;37m'
DARKGRAY='\e[1;30m'
LIGHTBLUE='\e[1;34m'
LIGHTGREEN='\e[1;32m'
LIGHTCYAN='\e[1;36m'
LIGHTRED='\e[1;31m'
LIGHTPURPLE='\e[1;35m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m' # No Color

echo -ne " ${WHITE}";
echo -e " ______________________________________________________________________";
echo -e "               _______ _     ${LIGHTRED}_${WHITE}       _    _____          _ ";
echo -e "              |__   __| |   ${LIGHTRED}(_)${WHITE}     | |  |  __ \        | |";
if [ -f /etc/bash_completion ]; then
	. /etc/bash_completion
fi;
cat ~/.bashart;
echo -e "  ______________________________________________________________________";
echo -e " ";
echo -e "      == " `uname -o`" - "`uname -n`" - "`uname -r`" - "`uname -m` " ==  ";
echo -e "  ______________________________________________________________________";
echo -e " ";
 

Anhänge

  • Terminal_Bold.png
    Terminal_Bold.png
    15,3 KB · Aufrufe: 26
Danke für die zahlreichen Tipps. Bei mir siehts jetzt so aus:
miraculix.png


P.S. Weiss jemand wie man sich die WAN IP anzeigen lassen kann, wie der TE?
 
[quote='M@C',index.php?page=Thread&postID=766761#post766761]Weiss jemand wie man sich die WAN IP anzeigen lassen kann, wie der TE[/quote]
Wenn du mit dem Router angebunden bist, entweder den Router abfragen oder einen Dienst wie wie-ist-meine-ip mit wget oder curl abfragen. Aus dem Wust dann die Adresse mit sed und Konsorten herausfischen.
 
@ M@C
Bei mir sieht es jetzt so aus (siehe Anhang)
Das mit dem Modellnamen neben dem Logo sieht cool aus. Werde das auch mal probieren. Bei mir ist es bisher noch drunter.
Das Ubuntu Karmic, hast du das selber geschrieben oder auslesen lassen bei Befehl?
Wie hast du das mit der IP gemacht, habe es zwar nach den Tipps probiert, aber so richtig gelungen ist es mir bisher nicht.
Oder noch einfacher, zeig doch mal den Code den du unter dem Logo verwendest! =)

Gruß
 

Anhänge

  • Terminal_2.png
    Terminal_2.png
    12,8 KB · Aufrufe: 16
[quote='M@C',index.php?page=Thread&postID=766761#post766761]P.S. Weiss jemand wie man sich die WAN IP anzeigen lassen kann, wie der TE? [/quote]

Code:
lynx -dump [url]http://whatismyip.org[/url]
8)

@Starko
Koennte ich den code fuer das Thinkpad Logo bekommen? :love:
 
Hab das ganz "billig" mit selber hinschreiben gelöst ;)

.bashrc (danke mwr87 ;))
Code:
# Farben definieren
BLACK='\e[0;30m'
BLUE='\e[0;34m'
GREEN='\e[0;32m'
CYAN='\e[0;36m'
RED='\e[0;31m'
PURPLE='\e[0;35m'
BROWN='\e[0;33m'
LIGHTGRAY='\e[0;37m'
DARKGRAY='\e[1;30m'
LIGHTBLUE='\e[1;34m'
LIGHTGREEN='\e[1;32m'
LIGHTCYAN='\e[1;36m'
LIGHTRED='\e[1;31m'
LIGHTPURPLE='\e[1;35m'
YELLOW='\e[1;33m'
WHITE='\e[1;37m'
NC='\e[0m' # No Color

clear
echo -ne " ${WHITE}"
echo -e "_____________________________________________________________________________";
echo -e "               _______ _     ${LIGHTRED}_${WHITE}       _    _____          _ "
echo -e "              |__   __| |   ${LIGHTRED}(_)${WHITE}     | |  |  __ \        | |"
if [ -f /etc/bash_completion ]; then
	. /etc/bash_completion
fi
cat ~/.bashart
echo -e " _____________________________________________________________________________"
echo -e " "
echo -e " Ubuntu 9.10 'Karmic Koala' - "`uname -r`
echo -e " "
echo -e " Hello ${LIGHTRED}$USER ${WHITE},today is "`date`
echo -e " IP:" `ifconfig | grep 'inet addr:192.*' | head -n1 | cut  -c21-32`
echo -e " ${LIGHTRED}nbname' ${WHITE}uptime "`uptime | awk /'up/{print $3,$4}'`
echo -e " Remaining battery time: "` /home/$USER/.calc`" h"
echo -e " _____________________________________________________________________________"
echo -e " "

.bashart
Code:
                 | |  | |__  _ _ __ | | _| |__) |_ _  __| |
                 | |  | '_ \| | '_ \| |/ /  ___/ _` |/ _` |
                 | |  | | | | | | | |   <| |  | (_| | (_| |
                 |_|  |_| |_|_|_| |_|_|\_\_|   \__,_|\__,_| T400s

.calc, hab ich heut schnell geschrieben ;) benötigt aber tp_smapi
Code:
#!/bin/bash
#Batterycalculator
bat0='/sys/devices/platform/smapi/BAT0/'
bat1='/sys/devices/platform/smapi/BAT1/'

cap0=`cat $bat0/remaining_capacity`
cap1=`cat $bat1/remaining_capacity`
ocap=`expr $cap0 + $cap1`

if [ `cat $bat0/state` == discharging ];
then
   echo -e "scale=2;$ocap /`cat $bat0/power_avg`" | bc -l
elif [ `cat $bat1/state` == discharging ];
then
   echo -e "scale=2;$ocap /`cat $bat1/power_avg`" | bc -l   
else

   echo -e "?"
fi
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben