Uninteressantes von einem Anwendungsentwickler aus Linse
 

Beiträge mit dem Tag "Bash"

 

Die neusten Blog Einträge

 

[Bash] Dateiname ohne Endung

Kategorie "Linux" Linux  Verfasst am 16.04.2012 22:38 16.04.2012 22:38  0 Kommentare 0 Kommentare  

Vor allem beim Massenumbenennen innerhalb einer for-Schleife total praktisch:

for I in *.wav; do ffmpeg -i "$I" "$(basename $I .wav).mp3"; done;

Im basename Befehl kann man als zweiten Parameter die Endung angeben, die entfernt werden soll. So funktioniert das konvertieren mit ffmpeg ohne dämliche Stringfunktionen... :)

 

Scripte automatisch beim WLAN Anschalten ausführen

Kategorie "OpenPandora" OpenPandora  Verfasst am 04.06.2011 12:24 04.06.2011 12:24  0 Kommentare 0 Kommentare  

Der NetworkManager, welcher bei der Pandora eingesetzt wird, erlaubt es beim aktivieren eines Netzwerkgeräts Scripte auszuführen. So kann man beispielsweise die Powersafe Funktionen des WLAN Chips automatisch deaktivieren lassen.

Man legt ganz einfach als root ein Script im Ordner /etc/NetworkManager/dispatcher.d/ an:

sudo mousepad /etc/NetworkManager/dispatcher.d/20<meinscriptname>

Nun sollte sich ein Editorfenster mit root Rechten öffnen und man kann hier nun das Template eines dispatcher Scripts dort reinkopieren:

#!/bin/sh

case "$2" in
up)
   if [ "$1" == "wlan0" ]; then
      iwconfig wlan0 power off
   fi
;;

down)
   # ein anderer befehl
;;

*)
   # $2 ist weder up noch down
;;

esac

Das Script führt als beispiels jedes mal wenn WLAN (wlan0) aktiviert wird, den Befehl zum deaktivieren der Power Management Funktionen aus. Man kann an der stelle natürlich auch jeden anderen Befehl ausführen.

Nun muss das Script noch ausführbar gemacht werden:

sudo chown root:root /etc/NetworkManager/dispatcher.d/20<meinscriptname>
sudo chmod u=rwx,go=rx /etc/NetworkManager/dispatcher.d/20<meinscriptname>

Wenn man nun testweise WLAN aktiviert, sollte der Befehl eigentlich ausgeführt werden.
Probiert es mal aus. ;)

 

ASCII Tabelle mit PHP generieren

Kategorie "Job" Job  Verfasst am 11.02.2011 14:01 11.02.2011 14:01  0 Kommentare 0 Kommentare  

Letzte Woche habe ich für meinen Dockstar Keylistener eine Klasse gebaut, die eine ASCII Tabelle generiert. In der Tabelle wird dann eine Übersicht aller Befehle angezeigt.

+---+----+----+----+----+----+
|   | a  | b  | c  | d  | e  |
+---+----+----+----+----+----+
| 1 | 1a | 1b | 1c | 1d | 1e |
| 2 | 2a | 2b | 2c | 2d | 2e |
| 3 | 3a | 3b | 3c | 3d | 3e |
| 4 | 4a | 4b | 4c | 4d | 4e |
| 5 | 5a | 5b | 5c | 5d | 5e |
+---+----+----+----+----+----+

Das Script kann in meiner Schnipseldatenbank geladen werden.

Weitere ASCII Klassen
ASCII Tabelle: http://snippets.sim4000.de/show/40/
ASCII Progressbar:  http://snippets.sim4000.de/show/32/
ASCII Text Generator: http://snippets.sim4000.de/show/31/

 

DynDNS mit der INWX XML-RPC API

Kategorie "Programmieren" Programmieren  Verfasst am 20.09.2010 21:45 20.09.2010 21:45  2 Kommentare 2 Kommentare  

Der Domain Provider InterNetworX (kurz inwx) bietet eine XML-RPC Schnittstelle um alles mögliche an den Domains zu manipulieren. Man kann über die Schnittstelle sogar neue Domains registrieren.

Mit einem kleinen Shellscript habe ich für meinen OpenWRT Router ein DynDNS Script gebaut. Es wird alle fünf Minuten aufgerufen und aktualisiert eine Subdomain wenn sich die WAN IP geändert hat.

http://snippets.sim4000.de/show/35/

In der XML Datei müssen die Zugangsdaten zum Kundenbereich von inwx.de und die Unique ID des DNS Eintrags gesetzt werden. Die UID bekommt man aus der URL zum Bearbeiten eines DNS Eintrags. Hier ein Beispiel:

https://www.inwx.de/kunden/nameserver-updrec.php?recid=107779999

Wenn alles funktioniert sollte nun vom XML-RPC Server als Antwort "Command completed successfully" zurück liefern. Und dann sollte auch die aktuelle IP Adresse im DNS Record stehen.

 

[Bash] AND & OR in if Bedingungen

Kategorie "Linux" Linux  Verfasst am 26.01.2010 22:51 26.01.2010 22:51  0 Kommentare 0 Kommentare  

Hier mal ein Beispiel wie man in der Linux Bash mehrere Bedingungen in einem if-Statement abfragen kann.

# Und
if [ "$SHELL" == "/bin/bash" ] && [ "$USER" == "sim4000" ]; then
   echo "User und Shell sind richtig";
fi

# Oder
if [ "$SHELL" == "/bin/bash" ] || [ "$USER" == "sim4000" ]; then
   echo "User oder Shell sind richtig";
fi

# Beides
if ( [ "$a" == "a" ] || [ "$a" == "b" ] ) && ( [ "$b" == "c" ] ); then
   echo "moo";
fi

Ganz wichtig ist dabei kein Leerzeichen zu vergessen! Vor allem bei den Vergleichsoperatoren. Schreibt man zum Beispiel $foo=="bar" anstatt $foo == "bar", wird die Bedingung immer wahr sein. Also nix mit Fehlermeldung...

Lässt man aber das Leerzeichen zwischen »if« und » weg, gibt es eine Fehlermeldung.

Tag Cloud

28c3   3D   ASCII   Akismet   Allgemein   Animation   Apache   Arbeit   Arch Linux   Archos 5   Asterix & Obelix   Audio   Auto   BOINC   Bash   Bitlbee   Blog v2.0   Bluetooth   Bodenwerder   Bouncer (BNC)   Bundestagswahl 09   Bücher   CCC   Chromium   Comics   Computerspiele   Content Managment System   Creative Commons   CyanogenMod   Cybton   DAU Alarm   DLRG   Datenbanken   Datenschutz   Debian   Deutsches Rotes Kreuz   Domains   Drucken   EZFlash Vi   Eclipse   Eingabegeräte   Ekelhaft   Email   Essen   Ethernet   Evernote   ExtJS   Facebook   Fail2Ban   Fanartikel   Feiertage   Fernsehn   Firefox   Flash   Flattr   Fotografie   Fritz!Box   Fun   Fußball   GEZ   GPS   Gameboy Advance   Games   Git   Gnome   Google   Google Android   Google Android Hacking   Google+   Grafiken   Grand Theft Auto IV   HTC   HTC Desire Z   HTML   Handhelds   Handy   Handy Apps   Hardware   Hardware Hacking   Homebrew   ICQ   IRC   ImapFilter   Internet   Internet Explorer   Internet Relay Chat (IRC)   Internetzensur   Java   JavaScript   JeeGeek   Justiz   Kino   Konzert   Kultur   Kumpels   Legend of Zelda   Linux   Linux Mint   MS SQL Server   Marilyn Manson   Microsoft .NET   Minecraft   Mobile   Mozilla   Music Player Daemon (MPD)   Musik   MySQL   NPD   Natur   Netbeans   Netbooks   Netzwerk   Nintendo   Nintendo DS   Nintendo DSi   Nintendo Wii   Notebook   OpenOffice   OpenOffice Impress   OpenWRT   PC Hardware   PHP   Pandora   Papierkorb   Patentrecht   Pidgin   Piratenpartei   Piwik   Politik   Privat   Programmieren   Projekte   PulseAudio   QR-Code   RSS   Rammstein   Root   SD-Karte   SOGo Scalable OpenGroupware   SSH   SVN   Schlüsselband   Schule   Seagate Freeagent Dockstar   Server   Serversicherheit   Sesamstraße   Shellscripting   Shopping   Shortlinker   Skype   Social Networks   Software   Spam   Spenden   Spongebob   Straßenverkehr   Support   TV   Tablets   Technik   Textverarbeitung   Thunderbird   Truecrypt   Twitter   Typo3   UMTS   USA   USB   Ubuntu   Underground Shopping   Urheberrecht   Urlaub   VMWare   VNC   Vereine   Verkaufen   Verstärker   Videorecorder   Viren und andere Schädlinge   Virtual Box   Vorratsdatenspeicherung   WLAN   Wahlen   Webspace   Wehrdienst   Weserbergland   Willkommen   Windows   Windows 7   X11   XFCE   XML   XStylus   Zeitschriften   Zensur   bind9   ffmpeg   netcup   openSSL   r0ket   sim4000.de   vim   Überwachung   Überwachungsstaat   üäx.de   1337