#26 12.02.2013 23:01:50

Dirk
Moderator

Re: Eure brauchbarsten Funktionen

harald91 schrieb:

Das echo-Kommando setzt den Status des Desktops auf "urgent" (englisch für dringend).

Ist natürlich nutzlos, wenns in ’ner screen-Session läuft, die gerade detached ist smile

Offline

#27 12.02.2013 23:06:35

harald91
Mitglied

Re: Eure brauchbarsten Funktionen

Stimmt, aber in so einer Session habe ich das Kommando das ewig läuft ja auch im Blick wink

Offline

#28 13.02.2013 01:35:27

Dirk
Moderator

Re: Eure brauchbarsten Funktionen

Na ich guck dem ja nicht die ganze Zeit zu smile

On-Topic: Zwar keine Funktion, sondern eher schon ein ausgewachsenes Script (das geht sicher auch kürzer bei selbem Ergebnis)

#!/bin/bash
# vim: ts=4:sw=4
# Printing all defined colors to terminal.
# Dirk Sohler
# spam@0x7be.de


# Enter your definitions file here

RES="${HOME}/.Xresources"



# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

CLINES=$(grep "color[0-9]\{1,3\}:" "${RES}")
COUNT=$(grep "color[0-9]\{1,3\}:" "${RES}" | wc -l)
NLEN=$(echo -ne "${COUNT}" | wc -m)

ELEN=$(expr $(grep "color[0-9]\{1,3\}:" "${RES}" \
		| head -n1\
		| sed s/"\(.*color\)[0-9]\{1,3\}.*"/"\1"/g\
		| wc -m) - 1 + ${NLEN})

VLEN=$(expr $(grep "color[0-9]\{1,3\}:" "${RES}"\
	| head -n1\
	|awk '{print $2}'\
	| wc -m))

echo -ne "\n\e[1;4m "
printf %${NLEN}s " "
echo -ne "   Example    "
printf %-${ELEN}s "Entry"
echo -ne "   "
printf %-${VLEN}s "Value"
echo -ne "\033[0m\n"

IFS=$(echo -ne "\n\b")
I=0

for C in ${CLINES}; do
	I=$(expr $I + 1)
	NUM=$(echo ${C} | sed s/".*color\([0-9]\{1,3\}\).*"/"\1"/g)
	EXA=$(echo -e "\e[48;05;${NUM}m        \e[0m")
	NAM=$(echo ${C} | sed s/"\(.*color[0-9]\{1,3\}\).*"/"\1"/g)
	STR=$(echo ${C} | awk '{print $2}')
	LNUM=$(printf %${NLEN}d ${I})
	LNAM=$(printf %-${ELEN}s ${NAM})
	echo -e " ${LNUM}   ${EXA}   ${LNAM}   ${STR}"
done

echo -ne "\n"

Gibt alle in der entsprechenden Datei angegebenen Farbdefinitionen aus, und ist dabei fähig, beliebig viele Definitionen auszugeben (wer in einem entsprechenden TErminal mehr als die üblichen 16 Farben definiert hat, bekommt die auch alle angezeigt.)

20130213003413706x421sc.th.png

Zur Abstandsmessung wird die erste Farbdefinition hergenommen, wer also mehrere verschiedene Definitionen hat (urxvt*color, bliblablubb*color, etc.), bekommt zwar probleme mit den Abständen, aber ansonsten finde ich das schon sehr schick smile

Beitrag geändert von Dirk (13.02.2013 01:48:17)

Offline

#29 13.02.2013 01:44:53

harald91
Mitglied

Re: Eure brauchbarsten Funktionen

Hallo,

mit LINES hast Du Dir eine Systemvariable neudefiniert.

Offline

#30 13.02.2013 01:48:43

Dirk
Moderator

Re: Eure brauchbarsten Funktionen

harald91 schrieb:

mit LINES hast Du Dir eine Systemvariable neudefiniert.

Hab ich gar nichts von gemerkt, was macht die?

Na ja, ist jedenfalls angepasst, heißt jetzt CLINES smile

Offline

#31 13.02.2013 01:56:30

harald91
Mitglied

Re: Eure brauchbarsten Funktionen

Gibt glaub ich die Anzahl der Zeilen in Deinem Terminalfenster an, oder irgendso was big_smile Aber die Ausgabe von Deinem Skript sieht sehr beeindruckend aus, das werde ich die Tage über mal genauer unter die Lupe nehmen.

Offline

#32 13.02.2013 01:57:18

portix
Mitglied

Re: Eure brauchbarsten Funktionen

LINES ist keine Systemvariable sondern eine bash-builtin Variable die aber nur in interaktiven Shells gesetzt ist, in Skripts ist sie nicht gesetzt. In interaktiven Shells gibt sie die Anzahl der Zeilen an die das Terminal hat.

Offline

#33 13.02.2013 02:13:40

harald91
Mitglied

Re: Eure brauchbarsten Funktionen

Danke für die Verbesserung portix.

Offline

#34 13.02.2013 02:22:10

portix
Mitglied

Re: Eure brauchbarsten Funktionen

Ein Terminalfarbenskript habe ich auch mal geschrieben, anders als das Skript von Dirk parst es nicht .Xresources sondern zeigt bei Terminals die 256 Farben unterstützen die Farben an

#!/bin/bash 

[ $1 ] && [ $1 -a 0 -le $1 -a $1 -le 255 ] && c=$1 || c=16
j=3; l=4;
for i in {0..255}; do 
  [ $i = 16 ] && k=0 && j=4 && l=3;
  printf "\e[38;5;$c;48;5;%dm%-${j}d\e[0m\e[48;5;$c;38;5;%dm%-${j}d\e[0m" $i $i $i $i
  [ $((++k%(2*l))) = 0 ] && printf "\n"
done

taGcxaQ

Beitrag geändert von portix (13.02.2013 02:26:24)

Offline

#35 13.02.2013 03:19:27

Dirk
Moderator

Re: Eure brauchbarsten Funktionen

Auch nice! smile

Offline

#36 13.02.2013 21:35:08

elias
Mitglied

Re: Eure brauchbarsten Funktionen

harald91 schrieb:

Für welche Anwendungen verwendest Du diese Funktion?

Lass mich nachdenken ... Keine Ahnung ... Fand es einfach lustig^^

harald91 schrieb:
irgendwas das ewig dauert && say "Bearbeitung abgeschlossen"

… wäre eine Idee smile

Coole Idee big_smile

Eine Anmerkung hätte ich noch, ispeech klingt weitaus besser als Google:

http://api.ispeech.org/api/rest?apikey=YOURAPIKEY&voice=eurgermanfemale&action=convert&text=$1

(Keys findet man wunderbar in der Doku und auf stackoverflow ;D)

Beitrag geändert von elias (13.02.2013 21:37:54)

Offline

#37 26.02.2013 14:19:56

harald91
Mitglied

Re: Eure brauchbarsten Funktionen

>>> grep -A3 Einträge der Historie ~/.zshrc.local
# Gibt von den letzten i Einträgen der Historie die aus, welche <Pattern1 oder Pattern2 oder ...> enthalten.
for i in {1..100} {200,250,300,400,500,1000,10000,$HISTSIZE}; do
  h$i() { if [ $1 ]; then history -${0:1} | egrep $(echo $@ | tr -s ' ' '|'); else history -${0:1}; fi }
done; alias h="h$HISTSIZE"

z.B:

h100 ls echo             # gibt von den letzten 100 Befehlen, diejenigen aus, die "ls" ODER "echo" enthalten. 
h "vim.*.sh"             # gibt von allen history-Eintägen diejenigen aus, die "vim" UND ".sh" enthalen und bei denen "vim" VOR ".sh" steht. 
h250 "vim.*.sh|.sh.*vim" # gibt von den letzten 250 Einträgen der history diejenigen an, die "vim" und ".sh" in beliebiger Reihenfolge enthalten. 
h5                       # gibt die letzten fünf Einträge der Historie aus

Wer das Skript mit der bash nutzen mächte solte "-${0:1}" zu "${0:1}" abändern.

Offline

#38 01.07.2013 14:48:09

elias
Mitglied

Re: Eure brauchbarsten Funktionen

function media {
    `adb shell input keyevent KEYCODE_HOME`
    `adb shell input keyevent KEYCODE_MEDIA_$1:u`
}

Damit lassen sich "medien" auf Android steuern, wenn über ADB angeschlossen.

media next

z.B. skippt das aktuelle Lied.

Offline

#39 01.07.2013 22:13:24

Freemann
Gast

Re: Eure brauchbarsten Funktionen

Mal eine blöde Frage aber wo packt ihr die Funktion hin?

#40 01.07.2013 23:09:22

elias
Mitglied

Re: Eure brauchbarsten Funktionen

Z.B. deine ~/.bashrc smile

Offline

#41 02.07.2013 00:07:15

a.r.v.i.s.
Mitglied

Re: Eure brauchbarsten Funktionen

ich dachte ich bin auch geschickt und probiere es mal...

also habe ich mir dies geschrieben:

#compile c
function cc () {
        x="$1"
        gcc -o "${x%2}" "$1"
}

, was mir das gcc -o /.../test /.../test.c ersparen soll... nur leider tut es nicht so ganz was es soll. hat mal jemand kurz nen blick drauf?

Offline

#42 02.07.2013 00:24:01

portix
Mitglied

Re: Eure brauchbarsten Funktionen

function cc() {
    gcc -o "${1%.c}" "$1" 
}

Offline

#43 02.07.2013 00:31:01

a.r.v.i.s.
Mitglied

Re: Eure brauchbarsten Funktionen

dankeschön!

und noch einen:

#mount iso to /tmp/isoname an go to that dir
function isomount () {
        mkdir -p /tmp/"$1"
        sudo mount "$1" /tmp/"$1"
        cd /tmp/"$1"
}

Beitrag geändert von a.r.v.i.s. (02.07.2013 17:02:33)

Offline

#44 22.07.2013 13:58:06

BigBear
Mitglied

Re: Eure brauchbarsten Funktionen

Erneutes verbinden einer Fritzbox:

#!/bin/bash

curl "http://fritz.box:49000/upnp/control/WANIPConn1" -H 'Content-Type: text/xml; charset="utf-8"' -H 'SoapAction: urn:schemas-upnp-org:service:WANIPConnection:1#ForceTermination' -d '<?xml version="1.0" encoding="utf-8"?> <s:Envelope s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Body> <u:ForceTermination xmlns:u="urn:schemas-upnp-org:service:WANIPConnection:1" /> </s:Body> </s:Envelope>'

exit 0

Hierfür müssen lediglich die Statusinformationen -nicht die Sicherheitseinstellungen (Portfreigaben usw.)- der Box per UPNP aktiv sein.

Unitymed** hat auf mysteriöse Weise roll, eine Zwangstrennung die nur dann trennt, wenn gerade no-ip bzw. dyndns den Account als inaktiv gesperrt hat.
Wenn die Verbindung nicht so schnell wäre, wäre es nen KO. Kriterium, dass man über einen Monat die selbe IP-Adresse hat, aber mit dem Skript ists ja gelöst.

PS: Ist nicht aus meiner Feder, nur ein paar Anpassungen, aber nutze es quasi täglich.

Offline

#45 16.12.2013 14:35:41

MyZeD
Mitglied

Re: Eure brauchbarsten Funktionen

int function random() {
    return 4;
}

Offline

#46 16.12.2013 14:54:13

Creshal
Mitglied

Re: Eure brauchbarsten Funktionen

int function random() {
head -c 1 /dev/urandom|od -An -vtu1|tr -d ' '
}

tongue

Offline

#47 20.03.2014 23:44:15

Dirk
Moderator

Re: Eure brauchbarsten Funktionen

Hier ist noch was Feines … Das Script generiert ein Vorschaubild von einer Schriftart. Wenn man das als Doppelklickaktion in seinem Dateimanager für application/x-font-* einstellt, bekommt man einen supersimplen Schriftartenbetrachter. Von Schriftarten-Verwaltungstools wimmelt es ja nur so in den Repos und im AUR, aber ein Programm, das einfach nur ganz stupide beim Doppelklick eine Vorschau anzeigt, habe ich trotz ausführlicher Recherche nicht gefunden …

#!/bin/bash
# vim: ts=4:sw=4
# ImageMagick based font preview

# Set default options
POINTSIZE="100"
FOREGROUND="#729fcf"
BACKGROUND="#2e3436"
DEFAULTFONT="DejaVu-Sans"
DISPLAYWITH="feh -" # Has to accept PNG content on STDIN

# Set characters to be displayed, separate by space. Don’t overdo it :)
CHARS="Aa Bb Cc Dd Ee Ff Gg Hh Ii Jj Kk Ll Mm Nn Oo Pp Qq Rr Ss Tt Uu Vv Ww Xx Yy Zz 1 2 3 4 5 6 7 8 9 Ää Üü Öö - + ! ?"

# The font to be used. ${1} refers to the fist command line parameter.
FONT="${1}"


###########################################################################


FILL=$(echo $CHARS | wc -w | wc -m)
COUNTER=1
TEMPDIR="$(mktemp -d)"

for _C in ${CHARS}; do

	_COUNTER=$(printf "%0${FILL}d" ${COUNTER})

	convert \
		-font "${FONT}" \
		-pointsize "${POINTSIZE}" \
		-fill "${FOREGROUND}" \
		-background "${BACKGROUND}" \
		label:"${_C}" \
		"${TEMPDIR}/char_${_COUNTER}.png" \
		2>/dev/null

	let COUNTER=COUNTER+1
done

montage "${TEMPDIR}"/*.png \
	-mode Concatenate \
	-geometry '1x1+5+5<' \
	-background "${FOREGROUND}" \
	-fill "${BACKGROUND}" \
	-bordercolor "${BACKGROUND}" \
	-frame 1 \
	png:- | ${DISPLAYWITH}

rm -r "${TEMPDIR}"

Die Ausgabe ist im Bezug auf die Farbgebung, die Schriftart für die Infos, und die Beispielanzeige (Text und Schriftgröße) frei Konfigurierbar.

fwmf.th.png

… aber ich denke, so geht das auch smile

Offline

#48 15.04.2014 12:56:50

Henrikx
Mitglied

Re: Eure brauchbarsten Funktionen

#
# ~/.bashrc
extract ()
{
 if [ -f $1 ] ; then
 case $1 in
 *.tar.bz2) tar xjf $1 ;;
 *.tar.gz) tar xzf $1 ;;
 *.bz2) bunzip2 $1 ;;
 *.rar) rar x $1 ;;
 *.gz) gunzip $1 ;;
 *.tar) tar xf $1 ;;
 *.tbz2) tar xjf $1 ;;
 *.tgz) tar xzf $1 ;;
 *.zip) unzip $1 ;;
 *.Z) uncompress $1;;
 *.7z) 7z x $1 ;;
 *.exe) 7z e $1 ;;
 *) echo "'$1' cannot be extracted via ex()" ;;
 esac
 else
 echo "'$1' is not a valid file"
 fi
}

Sehr praktisch um schnell Archive zu entpacken.
Habe ich mal irgendwo gesehen und nur um *exe erweitert, da die Updates für meinen DVD-S Reciever nur im Exe-Format geliefert werden. Die entsprechenen Packer sollten natürlich installiert sein.

Aufruf :

 extract Datei.Endung

Offline

#49 15.04.2014 15:46:11

wirr
Mitglied

Re: Eure brauchbarsten Funktionen

Und du hast "$0: $1: Error. Please go away." mit "'$1' cannot be extracted via ex()" ersetzt. sad

Offline

#50 15.04.2014 17:29:52

Henrikx
Mitglied

Re: Eure brauchbarsten Funktionen

Weiß nicht mehr smile ..Funktioniert trotzdem. Habe gerade versucht das Orginal zu finden, ohne Erfolg. Jedoch hier : wiki.archlinux.org in etwa das Gleiche, aber ohne *:Exe smile

Offline

Schnellantwort auf dieses Thema

Schreibe deinen Beitrag und versende ihn
Deine Antwort

Fußzeile des Forums