It’s possible to assign a default value to a variable in case it isn’t already defined. The syntax is:
FOO=${FOO:=bar}
Example:
$ FOO=${FOO:=bar} $ echo $FOO bar $ BAR=test $ BAR=${BAR:=foo} $ echo $BAR test
Este es mi blog. Hay otros muchos pero este es el mío.
He traducido el caso de éxito del cluster Asterisk con un fonebridge2 al español, y además lo he montado como una página más del WordPress para admitir comentarios. Está disponible aquí:
También lo podéis ver en formato PDF.
watch runs a command and keeps its output on screen updating it ever X seconds and, optionally, highlighting the differences on the output between executions. It’s an easy way to monitor the output of some command without having to spend several minutes pressing “cursor up - enter”.
Si te ha interesado, ¿me invitas a una cerveza? / If you liked the post, would you buy me a beer?watch -n 1 “ps aux | grep apache”
One thing I always missed in WordPress is the ability to select the size of the thumbnail that’s generated every time you upload a picture to your blog. The default size is quite small, sometimes you may want it, for example, to be as wide as the page, without needing to scale the original pic down in HTML with width=”xx”.
I’ve found today the imagesControlSize plugin by aNieto2k, that allows you to select the thumbnail’s width when uploading an image (the height is calculated automatically, maintaining the aspect ratio). Works great.
Some days ago, a representative of Redfone Communications got in touch with me because of a HOWTO I wrote some months ago about building Asteirsk clusters with the fonebridge2: they liked it and wanted me to write a Case Study about the cluster I built at my previous job.
The Case Study has just been published and is available here:
At work I have a Dell laptop with a Broadcom BCM94311MCG wireless card:
# lspci … 0b:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01) … # lspci -n … 0b:00.0 0280: 14e4:4311 (rev 01) …
The drivers that Ubuntu installs by default were giving me lots of headaches depending on the network’s access point: on some of them the card worked OK; on some others I kept loosing the connection every few minutes, or I couldn’t connect at all. I never found out if the problem was the encryption algorithm in use, or the wifi a/b/g/whatever protocol. Bottom line is the driver worked on some networks but didn’t on some others.
A co-worker told me he had the same problem until he switched to the ndiswrapper driver, so reluctantly I tried it. It work great. ![]()
More info here:
Cluster SSH (cssh) is one of mankind’s greatest achievements. Really. Or at least, from a sysadmin point of view.
It’s one of those programs that, once you know it and start using it, you wonder how were you able to survive all those dark years without it.
cssh takes a username and several IP addresses on the command line, and opens a SSH session against each of those servers on an independent xterm window. Then, you can click on any of these windows and work independently with that particular server, or go back to the cssh console and write there, and ssh will retransmit each keypress to every SSH session.
This is a very useful tool when working with server farms, clusters, etc. For example lately I’ve been doing some monitoring and maintenance tasks on a 32-server farm on a major ISP: one by one each config modification would have take hours, with cssh it is a matter of minutes.
Besides, as it replicates every keypress, it even works with text editors like vi: you can edit a file on every server at the same time, navigate through it, modify it… in parallel on every server. You have to be very careful when doing this, though. ![]()
I’m almost ashamed to admit I didn’t knew of this command until very recently.
Everybody knows the kill command, and almost everybody knows killall too (like kill using the process’ name instead of its PID). The problem with killall is that it only signals the processes matching the exact name you specify, and sometimes you want to work over a series of related processes that begin with the same word, or have a given word on their command line. pkill does just that:
pkill -9 -f foo
As a side note, what I used before when I wanted to do this was:
Si te ha interesado, ¿me invitas a una cerveza? / If you liked the post, would you buy me a beer?kill $SIGNAL $(ps aux | grep $PROG | awk ‘{print $2}’)
Comentarios