Hier: Über alle angeschlossenen Geräte
1 2 3 4 5 6 7 8 9 |
#!/usr/bin/env bash input="$(idevice_id --list)" IFS=$'\n' read -rd '' -a deviceIds <<<"$input" for deviceId in "${deviceIds[@]}" do echo "device id: ${deviceId}" done |
Hier: Über alle angeschlossenen Geräte
1 2 3 4 5 6 7 8 9 |
#!/usr/bin/env bash input="$(idevice_id --list)" IFS=$'\n' read -rd '' -a deviceIds <<<"$input" for deviceId in "${deviceIds[@]}" do echo "device id: ${deviceId}" done |
dpkg in einem Docker-Container:
1 |
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y '/path/to/my.deb' |
Warum ist das cool: apt-get
(statt dpkg -i
) installiert die Dependencies gleich mit, (und -y
bestätigt automatisch), RUN DEBIAN_FRONTEND=noninteractive
verhindert Fehler à la “debconf: unable to initialize frontend: Dialog”
Bsplw. so:
1 |
$ /usr/lib/jvm/jdk1.8.0_73/bin/ControlPanel |
Wer nicht sicher ist, wo seine Java-Installation liegt:
1 |
$ dpkg -L openjdk-8-jre |
listet alle vom JDK installierten Dateien auf.
Ich kann es mir nicht merken:
1 |
tar -zcvf archive.tar.gz directory/ |
PS: Das war mein 666ster Post \m/
1 2 3 |
nl ~/.bash_history | sort -k 2 -k 1,1nr| uniq -f 1 | sort -n | cut -f 2 > unduped_history cp unduped_history ~/.bash_history rm unduped_history |
Danach bash neu starten.
Duplikate zukünftig vermeiden (Quelle: wie oben, oder mit Erklärung hier), kommt unter OS X aber in die .bash_profile:
1 |
export HISTCONTROL=ignoreboth:erasedups |
Eingehenden Port blocken:
1 |
sudo ipfw add 1 deny tcp from any to any 80 in |
Alle definierten Regeln anzeigen:
1 |
sudo ipfw list |
Alle definierten Regeln löschen:
1 |
sudo ipfw -f flush |
Wer weiß, wie man nur bestimmte Regeln löscht?
PHP auf eine andere Version (bsplw. die des MAMP) umbiegen (in der .bash_profile):
1 2 3 4 |
# Mamp Pro 3: alias php='php -c /Library/Application\ Support/appsolute/MAMP\ PRO/conf/php.ini' # Mamp 2: alias php="/Applications/MAMP/bin/php/php5.5.10/bin/php" |
Wo liegt die php.ini?
1 |
$ php --ini | grep "Loaded Configuration File" |
Wo liegt das Verzeichnis für Erweiterungen?
1 |
cat /path/to/php/conf/php.ini | grep extension_dir |
Alle geladenen Module:
1 |
php -m |
Ist ImageMagick verfügbar?
1 |
php -r "print(class_exists('imagick'));" |
To be completed!
Wer seinen Emailaccount umzieht und nicht aufpasst, hat vielleicht bald dasselbe Problem wie ich es neulich hatte: Einzelne Mails sind doppelt auf dem neuen Server gelandet. Dumm, dass Apple Mail doppelte Mails ausblendet; das macht das Aufräumen so schwierig. Gut dagegen, dass es Michael Tsai gibt, der hat nämlich die Lösung:
1 |
defaults write com.apple.mail AlwaysShowDuplicates -bool true |
hth
Ich habe eine Route
1 |
$route['(:any)/migrate'] = 'cli/migrate'; |
und einen zugehörigen Controller
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
class Migrate extends CI_Controller { public function __construct() { parent::__construct(); if (!$this->input->is_cli_request()) { show_404(); } $this->load->library('migration'); } public function index() { if ($this->migration->latest()) { echo 'DB on "' . ENVIRONMENT . '" successfully migrated!' . PHP_EOL; } else { echo 'Error: ' . $this->migration->error_string() . PHP_EOL; } } } |
Das hat die ganze Zeit funktioniert – jetzt bekomme ich
Message: Undefined index: REMOTE_ADDR
So weit, so klar: Eine Remote-IP habe ich nur, wenn der Aufruf auch von Remote kommt. Jetzt könnte man auf PHP schimpfen, warum der Index nicht trotzdem da ist, bsplw. mit 0.0.0.0, dem leeren String oder meinetwegen NULL gefüllt. Aber viel interessanter finde ich die Frage, warum das plötzlich nicht mehr geht. Wenn man sich den Controller oben ansieht, dann wird das erst mal nicht klar: Die IP wird nicht direkt abgefragt – klar, sonst hätte es auch nicht so lange funktioniert. Es wird aber auch keine Custom Klasse verwendet. Nicht mal indirekt, wie sich herausstellt, denn:
Die Session-Library ist der Übeltäter, die hatte ich vor Kurzem in die Autoload getan. Nun möchte ich an der Framework-Klasse CI_Session nicht herumdoktern, deshalb sieht mein aktueller Hack in der autoload.php so aus:
1 2 3 4 |
if (isset($_SERVER['REMOTE_ADDR'])) { $autoload['libraries'] = array('session'); } |
Irgendwelche besseren Vorschläge?